TIDB某个机器CPU过高,怎么快速定位问题,步骤是怎样的

TIDB某台机器CPU过高,有木有什么好的 方法定位 并一步一步排查问题,请教各位大佬

混合部署吗?先top下看下是哪个组件占用cpu高吧。。。一般都是大sql影响的

怎么查看某个大SQL在执行呢

TIDB能查看执行的SQL吗

看热点、慢SQL,一个个分析

看下tidb的日志,搜索下有没有expensive sql。慢日志也可以看看。

show processlist就可以看到正在执行的sql了

dashboard 看一下 top sql

Dashboard,sql语句分析执行耗时排序下

dashboard看下top sql 和 慢sql

1.通过tidb自带的监控 2。操作系统自带的命令。

dashboard里面看下

mysql 客户端连到cpu高的服务器
按内存观察
select * from INFORMATION_SCHEMA.PROCESSLIST t
where t.COMMAND<>‘Sleep’
order by mem desc;
按执行时间观察
select * from INFORMATION_SCHEMA.PROCESSLIST t
where t.COMMAND<>‘Sleep’
order by time desc;

dashboard上查看一下慢查询就大概知道 了

topsql

https://docs.pingcap.com/zh/tidb/stable/top-sql

这个界面对付单台tidb负载不均衡的情况是比较有效果的。可以尝试使用。

用top命令,查看操作系统进程占用。

看看top sql

我的 tidbiDASH里没TOP SQL

dashboard上看一下慢sql

dashboard看下慢sql和资源监控