Prewrite 阶段耗时非常多

【 TiDB 使用环境】生产环境
【 TiDB 版本】TiDB v5.4.1

生产环境的TiDB 5.4.1 有很多慢查,从dashboard里看到大部分时间都耗在了Prewrite 阶段耗,


这个应该怎么去优化

https://docs.pingcap.com/zh/tidb/stable/tune-tikv-thread-performance#tikv-线程池性能调优

看看有没有用吧。

:sleepy:看了一圈 还是懵逼的

Prewrite 阶段的操作为把修改值写到 default CF中,在修改行加上lock。如果是乐观锁这个阶段放在用户提交之后操作,如果是悲观锁这个阶段放在用户操作dml的阶段。

看下tikv CPU利用率、tikv磁盘性能、black_exporter中的网络延迟情况


TiKV

blackbox_exporter

disk-performance

1、看到scheduler/readpool CPU有明显的读写热点,需要确认不均衡的问题是否在慢之前也是这样,检查下tidb监控的QPS 看看有无增长,看看慢SQL执行计划是否正常能否优化.
2、 sdb磁盘是tikv用的吗,磁盘利用率100%了

QPS最近都没有什么大的变化,慢SQL是根据主键修改一个列,语句很简单,表比较大有1.5亿多行,磁盘的util是达到了96%,但是磁盘的响应、延时、吞吐量都不算高

磁盘利用库一直这么高吗,磁盘看着不太正常

一直这么高,使用率确实有点不太正常,但是其他指标又正常,这一点很奇怪,从日志里看到很多写冲突的的信息

写写冲突,你看下业务上有没有逻辑问题。

已经向开发人员反馈了,非常感谢耐心的回答和帮助 :handshake:

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