大量ddl对tiflash造成查询性能影响

【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.5.5
【复现路径】

程序端在批量跑大量ddl(drop table和create table)时,走了tiflash的查询语句(查询的表没有做ddl)延迟会明显上升,走tikv的查询就没有影响,从tiflash监控看对应时间段DDL OPM很高,schema apply延时很大:

tiflash部署架构为2台物理机(128cvore、128G内存),每台部署2个tiflash实例,SQL异常时资源使用情况:

问题:
是否是因为等待ddl变更完成导致查询语句变慢?

【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

在 v7.2.0 及之前的版本中,如果 tiflash 检测到本地 apply 的 schema version 落后集群超过 100 (大概 33 次 create table/drop table 操作),就会触发 schema 全量重新加载。如果集群中表的数量比较多,同步全量 schema 会比较耗时。因为 tiflash 在处理查询的过程中需要确保表 schema 正确,所以同步全量 schema过程中会影响 tiflash 的查询。

这个问题在旧版本上没有有效的处理手段。
自 tidb v7.2.0 版本之后,tiflash 上的 DDL 同步逻辑进行了深度重构、优化,可以减少大量 DDL 变更期间对 tiflash 上查询的影响。建议可以升级到 LTS 版本 v7.5.x 或者 v8.1.x 的最新 patch 版本。

https://docs.pingcap.com/zh/tidb/stable/release-7.2.0

4 个赞

貌似在旧版本的TiCDC也有出现经常要加载全量schema的情况

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。