如何排查锁阻塞情况

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

  • 【TiDB 版本】:v4.0.6
  • 【问题描述】:如何排查锁阻塞情况

在mysql ,可以通过 information_schema.INNODB_TRX ,information_schema.innodb_lock_waits, information_schema.INNODB_LOCKS 等这些视图排查锁阻塞情况 , 但在TIDB中 , 并没有这些视图,


请问如何可以排查锁阻塞

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

目前从没有提供视图可以查询,等到超时后,日志中应该会有记录。以后的版本有计划提供此类视图。

通过 innodb_lock_wait_timeout 变量,设置事务等锁的超时时间(默认值为 50 ,单位为秒)。等锁超时后返回兼容 MySQL 的错误码 1205 。如果多个事务同时等待同一个锁释放,会大致按照事务 start ts 顺序获取锁

https://docs.pingcap.com/zh/tidb/stable/pessimistic-transaction#悲观事务模式的行为

计划在什么版本可以提供此类视图

看需求,您可以到github提交需求 https://github.com/pingcap/tidb/issues ,多谢。