問題があります。私のアプリは MySQL との多くの接続を開いてそれにデータを書き込む必要がありますが、しばらくすると、アイドル/スリープ状態の接続がますます多くなり、アプリの速度がそれまで低下します。完全に停止します。'wait_timeout'
変数が高すぎると非難しますが、
mysql> show variables like '%timeout%';
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| wait_timeout | 28800 |
+----------------------------+----------+
10 rows in set (0.05 sec)
と
mysql> SHOW FULL PROCESSLIST;
+------+----------+----------------------------------------------------+-------------+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+------+----------+----------------------------------------------------+-------------+---------+------+-------+-----------------------+
| 5425 | root | ip-10-xxxxxxxx.ec2.internal:60544 | my_db | Sleep | 2344 | | NULL |
| 5426 | root | ip-10-xxxxxxxx.ec2.internal:60561 | my_db | Sleep | 2136 | | NULL |
そして、このようなつながりがたくさんあります。私の主な質問は、接続をリセットする方法ですか? できることはわかっていますkill PID
が、本当にリセットしたいと思います。
また、wait_timeout で問題が解決すると思いますか。ところで、すべてが Amazon RDS 上にあります。