Aurora / MySQL 5.6 进程列​​出了数千个处于“已清理”状态的线程

Sam*_*Sam 5 mysql aurora

我有一个应用程序的扩展问题,它使用 Aurora 作为数据库并使用 Slick 作为 ORM。我不确定问题出在哪里,但我有一个与 MySQL/Aurora 相关的问题,我希望能对我的问题有所了解。

应用程序需要池中的大量连接,否则应用程序开始失败。但是,当我查看 INFORMATION_SCHEMA.PROCESSLIST 时,我可以看到大量处于“已清理”状态的线程。

我在一般状态列表中看不到“已清理” - https://dev.mysql.com/doc/refman/5.7/en/general-thread-states.html

“清理”到底是什么意思?(我可以猜测,但我找不到任何文档)

下面是线程总数与“已清理”中的线程数的计数

mysql> select count(*) from INFORMATION_SCHEMA.PROCESSLIST where STATE = 'cleaned up' order by time desc ;
+----------+
| count(*) |
+----------+
|    11982 |
+----------+
1 row in set (0.08 sec)

mysql> select count(*) from INFORMATION_SCHEMA.PROCESSLIST order by time desc ;
+----------+
| count(*) |
+----------+
|    12007 |
+----------+
1 row in set (0.08 sec)
Run Code Online (Sandbox Code Playgroud)

Sam*_*Sam 5

终于找到了答案,它是一个Aurora特定状态,与MySQL中的空白状态具有相同的含义。

Cleaned Up 状态意味着它已完成并清理并等待连接关闭。

https://forums.aws.amazon.com/thread.jspa?messageID=708499