zyq16
(15866702681)
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:2.1.9
- 【问题描述】:如下慢日志中的commit;如何定位到具体是哪条SQL语句或者事务提交的
Time: 2020-01-19T10:08:53.55467694+08:00
Txn_start_ts: 414030163032932384
User: xx@xx.xx.xx.xx
Conn_ID: 179857
Query_time: 2.712824135
Prewrite_time: 2.709781372 Commit_time: 0.001657973 Get_commit_ts_time: 0.000131451 Write_keys: 48 Write_size: 4988 Prewrite_region: 31
DB: testdb
Is_internal: false
Digest: 9505cacb7c710ed17125fcc6cb3669e8ddca6c8cd8af6a31f6b3cd64604c3098
Num_cop_tasks: 0
Cop_proc_avg: 0 Cop_proc_p90: 0 Cop_proc_max: 0
Cop_wait_avg: 0 Cop_wait_p90: 0 Cop_wait_max: 0
commit;
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。
不懂就问
(zhouyueyue)
2
根据慢日志信息暂时无法定位到具体的语句,如果集群中慢查询比较多,考虑开启 general log ,抓取一段时间的 log 信息,根据慢日志里面的 start_ts 来找对应的具体 SQL 信息。
在线开启 general log :curl -X POST -d “tidb_general_log=1” http://{TiDBIP}:10080/settings ,在线关闭 general log:curl -X POST -d “tidb_general_log=0” http://{TiDBIP}:10080/settings
zyq16
(15866702681)
3
如果事务中,单条SQL(insert、update、select等)语句执行的很快,毫秒级,但是提交达到7-9s左右,这种的一般是什么原因导致?(事务中包含三条毫秒级的SQL语句)
不懂就问
(zhouyueyue)
4
如果单条语句很快,批量写入很慢考虑是否是因为热点或者事务冲突导致的写入提交慢。热点问题可以看下监控部分 TiKV 面板 -> thread CPU 部分 raft store CPU 使用率是否均衡 以及 Coprocessor CPU 监控信息。事务冲突(读写、写写冲突)部分可以看下 TiDB 监控面板 KV backoff OPS 中 tikvlockfast 和 locktxn 部分来判断是读写冲突还是写写冲突。一般常见这两种,具体的还需要参考监控信息来判断。