6.1.2 升级 6.5.2 后写入耗时翻倍

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.2
【复现路径】6.1.2 升级 6.5.2
【遇到的问题:问题现象及影响】
升级前


升级后

【资源配置】

如果集群的配置完全一样,那么最好找个详细的场景来比对,

比如:

  • 相同的结构
  • 写入的行数和列信息 一样
  • 写入的差异是什么样的
  • 另外可以补充下 写入执行计划的对比
  • 可以排查下 硬件在 IO 方面的差异
1 个赞


这个差别就很大了…

Scheduler 的 BatchGet 比升级前慢了很多,但看 Thread CPU 不是很高的样子


升级后


按照 读性能慢-总纲 的提及的方向排查下看看

到底是那块的问题…

谢谢提供排查方向。顺着总纲看下去,发现 RocksDB 的 Get 耗时存在长尾延迟超高的现象

升级前


升级后

命中率降低了,而且查询变慢…

可以参考下这块的指标,进一步的排查
https://docs.pingcap.com/zh/tidb/stable/grafana-tikv-dashboard#rocksdb---kvraft


不过,我建议找个业务操作相对频繁的单表,就通过主键去 获取数据试试,看看执行需要多久
然后,看看执行计划中相关的 mvcc 的版本数量…

应该不是负载的问题。因为升级后性能下降的厉害,写入超时了。后续大量写入被丢弃,插入 QPS 降了一半。


双写的另外一个集群,还是 v6.1.2,性能一直很正常,而且负载也不高。

写入执行的都是这种语句。

INSERT INTO XX ON DUPLICATE KEY UPDATE

苦恼,升级后都没法回滚回去了……

大版本升级前,还是做下 POC,这样会更有把握…

小版本的变化会小一些,以修复为主了…

还有用 4.X.X 的版本,一直不升级的,因为很稳了… :rofl:

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