【 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高应该是正常现象吧