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) 时,连接数都会加一。此外,如果我再次重新启动 mysql,连接数仍然是 39。

我的 netstat 输出

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

我想我有类似“mysql 僵尸连接”之类的东西。我怎么能杀了他们?以及每次刷新网页时如何停止创建新连接?(我可以只有一个连接吗?)谢谢。

4

1 回答 1

7

首先,Connections是一个增量计数器,它不是当前连接。它是与 MySQL 实例建立和/或关闭的连接总数。

如果您想查看当前连接Threads_connected,而不是Connections.

其次,39个连接并不多,即使是连接的线程总数。这一切都取决于应用程序,尽管只有一个 CakePHP 实例可能只使用一个线程。

于 2012-12-29T14:21:15.640 回答