为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:4.0
- 【问题描述】:insert慢有时候 可以达到900多ms**
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。
你好,麻烦上传下 insert 慢的 slow query 日志,并参考(https://asktug.com/t/topic/37248)导出 TiDB 和 TiKV-Details 的 Grafana 监控快照。
tidb-TiDB_2020-12-22T05_40_35.602Z.rar (319.1 KB) tidb-TiKV-Details_2020-12-22T05_47_06.023Z.rar (1.3 MB)
慢查询里面就是一些简单insert语句 ,有一些敏感信息
很多类似基于ID更新也很慢
update xxx where id=4981638;
慢查询里面有没有打印 Prewrite 或 Commit 的耗时信息?
从监控上看,8:28 的 insert 延迟上涨到 900ms+
也可以先将 KV Request Duration 的精度从 99 调大,比如 999,观察是否是请求 KV 比较慢导致
把时间调到 12-22 08:28:00,看看 Prewrite or Comimt 是不是慢了
Cop 请求是访问 TiKV Coprocessor 读请求延迟,和 insert 没有关系
遇到和你差不多情况,读写明显比mysql慢,操作相同的SQL
这个是悲观锁模式导致的?
是什么类型的 insert,update 和 insert on duplicate 可能有悲观锁等锁
就是普通的insert values
从监控上定性分析,12-22 08:28:00 这个时间除了 PessimisticLock 比较高,其他请求都没有抖动,可以具体再看看我开始提到的慢查询日志。
上面截图最上面那个 sql 点进去,看看具体的呢
从目前给出的监控和截图,暂时看不出 insert 哪里耗时较高,想了解下