doris生产环境如何排查大查询sql语句?

提问者:帅平 问题分类:数据库
doris生产环境如何排查大查询sql语句?
3 个回答
玖墨
玖墨
首先在fe节点查看正在运行的查询sql:
show proc '/current_queries'

此时返回的信息是:
QueryId
ConnectionId
Database:当前查询的DB
User:用户
ScanBytes:当前已扫描的数据量,单位Bytes
ProcessRow:当前已扫描的数据行数
CPUCostSeconds:当前查询已使用的CPU时间,单位秒。此为多个线程累加的CPU时间,举个例子,如果有两个线程分别占用1秒和2秒的CPU时间,那么累加起来的CPU时间为3秒。
MemoryUsageBytes:当前占用的内存。如果查询涉及到多个BE节点,此值即为该查询在所有BE节点上占用的内存之和。
ExecTime:查询从发起到现在的时长,单位为毫秒。

然后再查询某个query再每个BE节点上的资源消耗:
show proc '/current_queries/${query_id}/hosts'

返回的信息是:
Host:BE节点信息
ScanBytes:已经扫描的数据量,单位Bytes
ScanRows:已经扫描的数据行数
CPUCostSeconds:已使用的CPU时间。
MemUsageBytes:当前占用的内存。

这样子就可以分析大查询sql语句了
发布于:1个月前 (04-19) IP属地:四川省
我来回答