1.版本信息
MySQL 8.0.13
2.问题描述
通过阿里云的 sql 洞察监控到某些时间点,数据库的部分dml操作耗时异常,截图如下:
#从截图中我们看到在差不多的时间点,有的dml语句执行时间异常,有些又正常。
3.问题分析
#先说结论:大事务在刷binlog cache时候阻塞了其他事务刷binlog cache的动作
3.1 根据问题时间点查看活跃事务监控信息
发现一个可以的 update 操作,这个update 是活跃连接中执行时间最长的一个。
当时存在的一些其他活跃的会话:
#这些会话的状态 waiting for handler commit (提交时等待)
阿里云侧提供了如下信息:
(目前通过后台看是有7个大事务,产生了近7个1G左右的binlog,在刷binlog cache时候阻塞了其他事务)