- 【TiDB 版本】:v3.0.12
- 【问题描述】:
一条insert的慢查询,
Query_time 远大于 Parse_time + Compile_time + Prewrite_time + Commit_time + Get_commit_ts_time
那超出的这部分时间是耗在哪里的?
慢日志中目前还有过程没有监控到,所以需要关注的仅有当前展示的这些,看是否有某个值虚高。
当前 insert 慢问题,可以从
- 是否存在写热点问题:https://book.tidb.io/session4/chapter7/hotspot-resolved.html
- 是否当前集群负载和磁盘压力比较大,overview 中 tidb - qps/duration 和 system info 可以看到大概的信息。
- insert batch 是多少,如果是隐形事务提交,建议 values 跟多个值,批次在 200 - 500 之间为好。
没有监控到的过程主要是什么过程?有1s以上的时间不知到耗在哪里,当前展示的这些耗时都没有超过0.1s的,应该不至于导致慢查询吧。
- 可以通过监控看下是否有写入冲突的情况,Overview -> TiDB -> KV backoff OPS/Lock resolve OPS
- 另外应用有使用 cursor 连接吗,如果 cursor 没有及时断开连接,这一部分的耗时也会被记录在 Query_time 中