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

适用场景

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

适用版本

产品形态

引擎

部署方式

适用版本

Serverless 实例
(全托管)

Doris

存算一体

  • 2.1.x版本及以上
  • 1.2.x版本及以上

操作步骤

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

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


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

-- kill对应的queryId
kill query {queryId};

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

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