如何查看Yandex DB(YDB)中CPU耗时最多的Top查询?
获取YDB中CPU耗时Top查询的方法
方法一:使用YDB CLI命令直接查询
- 确保已配置好YDB CLI并连接到目标集群
- 执行以下命令获取按CPU耗时排序的Top查询:
ydb query stats top --limit 10 --interval 3600--limit:指定要返回的Top查询数量,比如10就是Top10--interval:指定统计的时间范围(单位:秒),3600代表最近1小时
- 输出结果会包含查询文本、CPU总耗时、平均耗时、执行次数等核心数据
方法二:通过YDB管理控制台可视化查看
- 登录YDB集群的管理控制台,进入监控与日志模块
- 选择查询统计页面,在排序选项中选择「CPU耗时」(降序)
- 设置时间范围和Top数量后,即可直接在界面上查看耗时最高的查询,还能点击查看单条查询的详细执行计划
方法三:分析查询执行日志
- 先在控制台的「日志设置」中开启查询执行日志收集(按需设置日志保留周期)
- 进入「日志查询」页面,执行以下过滤语句:
resource_usage.cpu_time_ms > 0 | sort by resource_usage.cpu_time_ms desc | limit 10 - 该语句会筛选出CPU耗时最高的前10条查询,同时可查看查询的执行时间、客户端信息等上下文数据
新手注意事项
- 若CLI返回空结果,尝试调整
--interval参数扩大时间范围,比如--interval 86400查看最近一天的数据 - 控制台查询统计存在约5-10分钟的延迟,需等待数据更新
- 开启日志收集会产生少量存储成本,无需长期监控时可关闭
内容的提问来源于stack exchange,提问作者White Cat
相关产品推荐
相关产品推荐

