其实 tiflash cpu 高对应的就是扫描的数据多,扫描数据多又分两种情况
- 单次扫描数据不多,但是同样类型的sql执行了很多次,导致总体扫描的数据多
- 单次执行扫的数据就很多
可以通过cluster_slow_query 中的 process_key 和 total_key 找到对应的 sql,找到的 sql 再通过执行计划去分辨一下是在tikv 执行的还是在tiflash执行的
可以参考以下sql(需要自行修改时间范围)
平均扫描 key 最多 key 的 SQL
select sum(total_keys)/count(digest) avg_keys,digest,min(query)
from CLUSTER_SLOW_QUERY
WHERE Time > ‘2022/02/12 12:00:00’
AND time < ‘2022/02/12 13:00:00’
group by digest
ORDER BY avg_keys DESC
LIMIT 10;
一段时间内 cop 处理过的 key 最多的 SQL
select sum(Process_keys),digest,min(query) from CLUSTER_SLOW_QUERY
WHERE Time > ‘2022/02/12 12:00:00’
AND time < ‘2022/02/12 13:00:00’
group by digest
ORDER BY sum(Process_keys) DESC
LIMIT 10;