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]
Другие вопросы по тегам