统计信息收集导致tikv节点CPU超90%

【 TiDB 使用环境】生产环境
【 TiDB 版本】5.4.0
【复现路径】做过哪些操作出现的问题 analyze table xxx;
【遇到的问题:问题现象及影响】
analyze table导致CPU超90%触发电话告警
有一条SQL执行计划错误,所以手动收集统计信息,触发CPU告警
有办法避免吗
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

手动收集还是自动收集的?貌似如果不增加硬件资源的情况下,貌似只能试试降低并发和采样率

手动收集

麻烦问下降低并发和采样率是调整哪个参数

试试降低采样率?顺带也可以看看 analyze 相关的参数,是不是可以降低下并发

采样率语句参考 analyze table t with 0.1 samplerate; 并发的话可以试试 调整 tidb_analyze_distsql_scan_concurrency。

1 个赞

谢谢解答,我试一下

– 对当前会话设置统计信息收集的采样率为 0.1
SET SESSION tidb_analyze_ratio = 0.1;

– 对当前会话设置统计信息收集的并发度为 2或者为1
SET SESSION tidb_analyze_concurrency = 2;

– 在该会话收集统计信息
ANALYZE TABLE your_table_name;

2 个赞

手动收集,CPU高应该是正常现象吧