tidb insert 慢

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:
  • 【问题描述】:tidb insert慢,有好多慢查询,有办法可以知道一条sql在什么地方消耗的时间最多吗?

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。

info_collecting.log (4.6 KB)

可以根据 TiDB 的写入流程排查一下,从 Dashboard 看问题应该是在 TiKV 端 commit 延迟时间长导致的。可以看看那具体的 slow query log 里面记录的 insert 的情况。从反馈的信息看,你的集群采用的混合部署,可能存在资源瓶颈,建议检查一下磁盘的性能和 TiKV 写入延迟。

磁盘使用的是ssd, 没有发现资源瓶颈, 能请教一下TiKV 写入延迟怎么看吗?

Wait_prewrite_binlog_time这个怎么优化呢

看一下这里,说明在 insert 写入的 2PC 阶段的 prewrite 节点等待了 599 ms,这里可能是在等锁。可以通过 KV ERROR 面板看一下。https://docs.pingcap.com/zh/tidb/stable/troubleshoot-write-conflicts

另外可以看一下这个 slow log 的解析 https://docs.pingcap.com/zh/tidb/stable/identify-slow-queries