Недавно я обнаружил, что у меня слишком много подключений в моей базе данных 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». Как я могу их убить? И как я могу остановить создание новых подключений каждый раз при обновлении веб-страницы? (Могу ли я иметь только одно соединение?) Спасибо.
1 ответ
Во-первых, Connections
- это инкрементный счетчик, а не текущие соединения. Это общее количество подключений, которые были установлены и / или закрыты для экземпляра MySQL.
Если вы хотите, чтобы текущие соединения смотрели на Threads_connected
, а не на Connections
.
Во-вторых, 39 подключений - это немного, даже если это общее количество подключенных потоков. Все зависит от приложения, хотя всего один экземпляр CakePHP, вероятно, будет использовать только один поток.
Connections
- это количество текущих подключений.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.