You need to enable JavaScript to run this app.
导航
大查询定位
最近更新时间:2025.11.03 14:50:16首次发布时间:2025.11.03 14:50:16
复制全文
我的收藏
有用
有用
无用
无用

适用场景

生产环境中可能出现部分大查询打满整个集群资源的情况,这会影响其他查询的性能与可用性,需迅速定位最近占用资源较多的大查询或大作业并处理,以降低对业务的整体影响。

适用版本

产品形态

引擎

部署方式

适用版本

Serverless 实例
(全托管)

StarRocks

存算分离

3.2.x版本及以上

存算一体

3.2.x版本及以上

操作步骤

找到运行中的大查询并终止

  1. 查看当前查询的资源消耗。详情请参考:StarRocks 查看运行中的查询
-- 查看当前FE节点的连接以及查询任务
SHOW PROCESSLIST;
-- 查看所有FE节点的连接以及查询任务
SHOW FULL PROCESSLIST;


-- 作为观察参考
SHOW PROC '/current_queries'; -- 查看当前FE节点正在运行的查询
SHOW PROC '/global_current_queries'; -- 查看所有FE节点正在运行的查询
  1. 终止 CPU 占用时间(CPUTime)较高的查询(query)。详情请参考:StarRocks Kill
-- kill对应processlist_id
kill connection {processlist_id};

若无法快速定位大查询且需要迅速止损

  1. 若无法快速定位运行中的大查询,建议重启BE,进而终止运行中的所有查询以恢复整体业务。
  2. 重启止损后,可参考 SQL诊断使用说明 或审计日志表对历史查询进行统计,结合业务排查大查询的来源并进行查询优化,详细操作请参考:查询调优最佳实践
-- 查看最近1h内CPU消耗最大的查询Top10
SELECT * FROM starrocks_audit_db__.starrocks_audit_tbl__
WHERE timestamp >= DATE_SUB(NOW(), INTERVAL 1 HOUR)
ORDER BY cpuCostSec desc limit 10;