MySQL PDO Слишком много подключений
У меня есть приложение, которое постоянно вставляется в таблицу статистики. Среднее количество открытых соединений обычно составляет от 20 до 22.
В PHP также есть скрипт обработки, запускаемый cron, который запускается каждые 30 минут. Примерно в 2 часа ночи по UTC обработка занимает около 10 минут, что является самым длительным периодом времени в течение дня.
Примерно в это же время я получаю около 8000 PDOException: SQLSTATE[08004] [1040] Too many connections
ошибки.
max_connections
установлено на 500.
Я заметил это, делая SHOW PROCESSLIST;
Обычно я не вижу никаких запросов в столбце Информация. Пока работает cron, я вижу запрос на cron в Info
столбец, а затем вставки SQL быстро накапливаются под ним.
На самом деле я не очень разбираюсь в настройке MySQL, но кажется, что вставки в таблицу статистики ставятся в очередь и превышают максимальный лимит соединения, пока выполняется скрипт Cron.
Что может быть причиной этого и какие параметры конфигурации я должен посмотреть на изменение?
1 ответ
Можете ли вы проверить параметры ниже? попытайтесь увеличить значение max_user_connections, а если приложение долго удерживает соединение, уменьшите wait_timeout.
max_user_connections=[value]
wait_timeout = [value]