2

最近、MySQL データベースに接続が多すぎることがわかりました。

mysql> show status like 'Conn%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections   | 39    |
+---------------+-------+
1 row in set (0.00 sec)

mysql> show full processlist;
+----+-------+-----------+--------+---------+------+-------+-----------------------+
| Id | User  | Host      | db     | Command | Time | State | Info                  |
+----+-------+-----------+--------+---------+------+-------+-----------------------+
| 38 | enrmr | localhost | cakedb | Query   |    0 | NULL  | show full processlist |
+----+-------+-----------+--------+---------+------+-------+-----------------------+

最近 CakePHP をインストールしましたが、メイン ページ (F5) を更新するたびに、接続数が 1 つ増えます。また、mysql を再起動しても、接続数は 39 のままです。

私のnetstat出力

netstat -n -a | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               ESCUCHAR   

「mysql ゾンビ接続」のようなものがあると思います。どうすれば彼らを殺すことができますか? また、Web ページが更新されるたびに新しい接続の作成を停止するにはどうすればよいですか? (接続を 1 つだけにすることはできますか?) ありがとうございます。

4

1 に答える 1

7

まず、Connectionsインクリメンタルカウンターであり、現在の接続ではありません。これは、MySQLインスタンスに対して確立および/または閉じられた接続の総数です。

現在の接続が必要な場合はThreads_connected、ではなく、を参照してくださいConnections

第二に、接続されたスレッドの総数であっても、39の接続はそれほど多くありません。それはすべてアプリケーションに依存しますが、たった1つのCakePHPインスタンスがたった1つのスレッドを利用するでしょう。

于 2012-12-29T14:21:15.640 に答える