在我们的数据库(RDS 上的 MySQL 5.6.22)中,我们有很多事务(~500)在负载下处于“清理”状态:
> SHOW ENGINE innodb STATUS;
...
------------
TRANSACTIONS
------------
...
---TRANSACTION 70150348714, not started
MySQL thread id 132590, OS thread handle 0x2b2a712ca700, query id 10842420427 <ip> <user> cleaning up
...
Run Code Online (Sandbox Code Playgroud)
我找到的唯一信息是:
线程已经处理了一个命令并准备释放内存并重置某些状态变量。
https://dev.mysql.com/doc/refman/5.6/en/general-thread-states.html
而这个问题评论提到:
如果您经常在实例中看到这种情况,您可能需要微调一些与内存相关的参数。
实际问题可能是什么?为什么这么多交易处于“清理”状态?我可以微调哪些内存参数来防止它?
任何建议将不胜感激。