SuperAPI AI 工具集

generating-clickhouse-query-performance-reports

通用与其它

查看项目

更新于 10-16 09:51

技能介绍

用途:调查 PostHog 生产 ClickHouse(US 与 EU 两套集群)的慢查询,产出结构化性能报告。该技能是方法论,实际取数机制由 query-clickhouse-via-metabase 提供(SSO 鉴权与 hogli metabase:query),本技能中所有查询都通过它执行。

主要能力:慢查询定义(query_duration_ms > 30000 或 exception_code 属于 159、160、241,且不添加 type='QueryFinish')的统计与归因;按天分布识别事故窗口;按 lc_kind × lc_product × lc_access_method 分类,区分后台任务与同步用户查询;按 team_id、lc_api_key_label 归因,并按集群小时与 OOM 数排序;在全部查询(非仅慢集合)上做资源消耗 Top 分析(团队、API key、lc_product),区分计算密集与等待/IO 密集;对 lc_kind='request' 且 lc_product='product_analytics' 的用户侧慢查询按 lc_query__kind 拆解,输出 JSON 提取属性表;对最严重查询做 EXPLAIN 根因分析;对可研究建议用后台研究智能体定位代码文件;最后与历史报告做差异对比。

使用方式:数据源为 posthog.query_log_archive(非 system.query_log),保留约三周,需先按天 count() 确认窗口;必须过滤 is_initial_query 避免重复计数;排除集群健康探测查询(按 normalized_query_hash)。报告写入同级 query-performance-analysis 仓库的 analysis/<YYYY-MM-DD>-<topic>.md;若仓库不存在则写临时目录(如 /tmp/<YYYY-MM-DD>-<topic>.md)并告知用户,同时跳过第 9 步差异对比。建议在完成独立分析后再读旧报告,避免锚定偏差。

适用场景:PostHog 生产 ClickHouse 的周期性或事件驱动的慢查询性能分析、租户与集成归因、物化候选发现及历史趋势对比。

限制:报告本身不公开;系统表保留期短,窗口过期后指标无法回填;慢集合指标为有偏子集,需与全量集群指标区分解读;超时噪声与真实计算消耗需明确分开;具体地域数据库 id 需通过 hogli metabase:databases 动态获取;部分运营/基础设施类建议无法通过代码研究验证。