Здравствуйте.
Почти ежечасно, я стал получать ошибку у себя на сайте при подключении к 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 подключений (максимум)?
Вы не правельно смотрите подключения) Это статистика, сколько всего было коннектов =))
show variables like 'max_connections';
Так можно увидеть сколько максимально единомоментно может быть подключений. По умолчанию там помоему 100. И так как у вас 500 скриптов в 5 секунд, то возможно ситуация когда единомоментно может быть больше 100 подключений и вы ловите ошибку.
Максимальное количество подключений можно увеличить в конфиге мускуля, но стоит помнить что каждое подключение кушает память и mysql может вылететь за её пределы.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники