SuperAPI AI 工具集

altinity-expert-clickhouse-reporting

通用与其它

查看项目

更新于 10-15 16:48

技能介绍

用途:诊断 ClickHouse SELECT 查询性能,回答“哪些查询慢或失败、原因是什么”。数据来源为 system.query_log、system.processes、system.query_views_log;查询按 normalized_query_hash 分组,将字面量折叠,使一行代表一种查询模式而非一次执行。若连接模式、集群和时间窗口尚未确定,先运行 altinity-expert-clickhouse-connection。

主要能力:提供查询包。checks.sql 含 15 项检查,包括当前运行查询、近期性能汇总、最慢查询、最频繁查询模式、按 CPU 时间、读取数据过多的查询、按访问表、近期失败及按错误码汇总、查询类型分布、峰值查询时段、按用户、INSERT 期间物化视图执行、慢物化视图按查询细分、分布式查询性能,其中 2 项需要 system.query_views_log。reference.md 提供背景(设置、容量规划、反模式),仅在需要解释建议时阅读。

使用方式:从技能目录读取各包文件,逐条运行语句,不要整文件执行;语句以 ; 结尾,并以 -- @check <id> <title> 开头,保留 id 与结果对应。遵守 -- @requires:表缺失、需要 keeper 而服务器无 Keeper/ZooKeeper、版本条件不满足时跳过该语句并列出跳过 id 与原因。存在 cluster 宏时保留 {cluster} 原样,否则按连接技能的重写规则处理;其他 {placeholder} 需先替换真实值或跳过。出错时记录 check id 与错误首行后继续;仅对 UNKNOWN_IDENTIFIER 运行 DESCRIBE TABLE system.<table> 并去掉缺失列。severity 列是该行结论,直接复制不要重新评级。

深度分析:对已知 query_id 的慢查询,用 SelectedMarks 除以 SelectedMarksTotal 衡量主索引未裁剪的表比例,接近 1 说明 ORDER BY 键未起作用;再检查表是否已有可进一步裁剪的数据跳过索引。

判定规则:read_rows 远大于 result_rows 属选择性差,应引用两个数字并转索引分析技能,修复 ORDER BY 键或跳过索引而非加硬件;按 normalized_query_hash 归组发现,报告模式及其总耗时而非最差单次执行;同一 hash 反复出现且结果相同可作查询缓存候选,先查缓存技能;memory_usage 高指向聚合或 join 而非扫描,转内存技能;SelectedParts 相对表 part 数偏高说明在读合并积压,先修合并;reporting-13、reporting-14 发现的慢物化视图拖慢触发它的 INSERT,属摄入路径;失败中 ExceptionBeforeStart 表示查询未运行(解析、权限或限额拒绝),ExceptionWhileProcessing 表示运行中死亡,通常因内存或超时限制;汇总失败时忽略本诊断会话自身产生的 UNKNOWN_IDENTIFIER、UNKNOWN_TABLE、SYNTAX_ERROR。

报告格式:头部含连接模式、集群或“单节点”、ClickHouse 版本、时间窗口;发现表含 check、severity、object、evidence、recommendation,Critical 在前;OK 检查一行列出无问题行的 check id;跳过与失败检查一节列出 id 与原因或错误首行,不可省略;最后给出后续技能与即时操作。

后续技能路由:read_rows 远高于 result_rows、标记裁剪率低、缺少或未用跳过索引转 altinity-expert-clickhouse-index-analysis;单查询内存高或 MEMORY_LIMIT_EXCEEDED 转 altinity-expert-clickhouse-memory;每表读取 part 多转 altinity-expert-clickhouse-merges;重复相同查询、标记或未压缩缓存命中率低转 altinity-expert-clickhouse-caches;INSERT 期间物化视图慢转 altinity-expert-clickhouse-ingestion;ORDER BY、分区或物化视图设计异常转 altinity-expert-clickhouse-schema;分布式查询慢于各分片之和或副本滞后转 altinity-expert-clickhouse-replication;出现 ACCESS_DENIED 或认证失败转 altinity-expert-clickhouse-grants;查询延迟与磁盘读吞吐相关转 altinity-expert-clickhouse-storage。

限制:资料未提供安装命令、收费与价格信息;具体执行需具备相应系统表访问权限。