MySQL: Too many connections

193
28 октября 2017, 17:45

Здравствуйте.

Почти ежечасно, я стал получать ошибку у себя на сайте при подключении к MySQL:

PHP Warning: mysqli_connect(): (08004/1040): Too many connections in /var/www/http/inc/classes/db.class.php on line 13 PHP Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in /var/www/http/inc/classes/db.class.php on line 99

При выполнении SQL-запроса show status like '%conn%' выводит число 4971052, и со временем число этих подключений увеличивается. У меня есть NodeJS скрипт, который вызывает php скрипт из консоли, а в php скрипте осуществляются запросы к базе, а после скрипт завершает свою работу, но подключения почему-то остаются. Такой скрипт запускается 400-500 раз каждые 5 секунд.

Подскажите пожалуйста, как сделать, чтобы количество подключений не росло, а держалось в районе 1000 подключений (максимум)?

Answer 1

Вы не правельно смотрите подключения) Это статистика, сколько всего было коннектов =))

show variables like 'max_connections';

Так можно увидеть сколько максимально единомоментно может быть подключений. По умолчанию там помоему 100. И так как у вас 500 скриптов в 5 секунд, то возможно ситуация когда единомоментно может быть больше 100 подключений и вы ловите ошибку.

Максимальное количество подключений можно увеличить в конфиге мускуля, но стоит помнить что каждое подключение кушает память и mysql может вылететь за её пределы.

READ ALSO
При переходе на другой url не сохраняется $_SERVER['PHP_AUTH_USER'] и $_SERVER['PATH_AUTH_PW']

При переходе на другой url не сохраняется $_SERVER['PHP_AUTH_USER'] и $_SERVER['PATH_AUTH_PW']

ЗдравствуйтеСделала http аутентификациюю Она работает, но почему-то при переходе на url другого вида выбивается ошибка о том, что $_SERVER['PHP_AUTH_USER']...

178
Как реализовать переподключение к БД в ооп-стиле php?

Как реализовать переподключение к БД в ооп-стиле php?

Доброго времени сутокПишу свой класс, наследуюсь от класса mysqli с целью прикрутить метод query() с автоматическим переподключением к базе, если...

156
Отправка письма админу и клиенту PHP

Отправка письма админу и клиенту PHP

ЗдравствуйтеПодскажите, как реализовать отправку на почту отправителя заявки с сайта и админа

166