tidb 如何取消正在运行的auto analyze table操作?

【 TiDB 使用环境】生产环境
【 TiDB 版本】5.2.2
【遇到的问题:问题现象及影响】
tidb 正在运行的auto analyze table如何取消?sql耗时增加了很多,影响了业务

自动analyze table 是单线程跑的,应该不会影响数据库性能,你也可以调整下analyze的时间
SET GLOBAL tidb_auto_analyze_start_time=‘22:00 +0800’;
SET GLOBAL tidb_auto_analyze_end_time=‘08:00 +0800’;
让他在业务空闲的时候分析表

1、从Duration上看是会影响的,业务也有反馈超时

2、时间也调了,重启了跑analyzetable的tidb-server,analyzetable迁移到另一个tidb-server了,是时区设置的不对吗?
tidb_auto_analyze_end_time | 03:00 +0000 |
| tidb_auto_analyze_start_time | 00:00 +0000

你在服务器上date -R 看下时区 中国时区是+0800

嗯,我再改下
]# date -R
Wed, 13 Sep 2023 10:08:45 +0800

分析停一天,看看是不是也超时呀。 咋感觉跟分析的关系不大呢。

可以关注一下这段时间Dashboard的慢语句,自动分析的语句也会统计在这里。

1 个赞

如何停止呢?

这个不是问题的重点,我想问的是如何停止正在运行的auto analyze table :joy:

:thinking:kill语句能停止么?

1 个赞

auto analyze table,show processlist看不到

这个应该是执行的具体语句吧,analyze table xxx

1 个赞

不是的,tidb内部自动的analyze在show processlist是看不到的,所以也没法直接kill tidb ID

:thinking:不是吧,我们之前用v5.1晚上自动analyze,在DashBoard里都是能看到语句的。难道不是一个逻辑?

1 个赞

1、DashBoard展示的数据来源是slow log吧? slow log确实会记录auto analyze 的sql的
2、show processlist确实没有

1 个赞

ddl dml也会被记录到慢查询中,dashboard是能看到的,analyze应该算ddl语句不会再processlist中列出。

:astonished:好吧,以前确实没关注到

1 个赞

改了执行时间后还是之前时间段有延迟不?

又再分析了下,analyze完成之后还是有耗时高的情况发生,最终定位是有br备份,kill掉br进程之后,耗时恢复至往常水平了 :joy:
但还是想知道是否有方法能终止正在运行的auto analyze table操作

最终定位耗时高的根因不是auto analyze table :sob: