为什么MySQL中有太多连接

Enr*_*cos 2 php mysql connection cakephp

最近我发现我的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 |
+----+-------+-----------+--------+---------+------+-------+-----------------------+
Run Code Online (Sandbox Code Playgroud)

我最近安装了CakePHP,每次刷新主页面(F5)时,连接数都会增加一个.另外如果我再次重启mysql连接数仍然是39.

我的netstat输出

netstat -n -a | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               ESCUCHAR   
Run Code Online (Sandbox Code Playgroud)

我想我有类似'mysql zombies connections'的东西.我怎么能杀了他们?我每次刷新网页时如何阻止新连接的创建?(我可以只有一个连接吗?)谢谢.

fav*_*tti 7

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

如果你想要当前的连接Threads_connected,而不是Connections.

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