К содержимому
Tickwise
ОшибкаБазы данныхSIG-DB-004

Превышен лимит соединений БД (Too many connections)

Платформы
Paper · Purpur · Velocity · вся сеть
Проверено
Проверено
Уверенность
Уверенность 85%

Как это выглядит в логе

Достаточно одной из строк. Агент сверяет их с логом локально, на вашем сервере.

logs/latest.log
  • [WARN] Too many connections

Симптомы

  • Новые соединения с MySQL/MariaDB отклоняются: «Too many connections» (ошибка 1040)
  • Плагины на части серверов сети не могут подключиться к общей БД

Причина

Сервер БД исчерпал max_connections: суммарные пулы соединений плагинов на всех серверах сети (или посторонние клиенты) держат больше соединений, чем разрешено.

Вероятные причины

  • Сумма maximum-pool-size всех плагинов × число серверов сети больше max_connections БД (часто на shared-хостинге БД лимит 10–50)
  • Утечка соединений в плагине или «зависшие» соединения после падений серверов
  • Лимит max_user_connections для пользователя БД ниже, чем нужно пулам

Как исправитьНизкий риск

  1. Посчитайте суммарный размер пулов: для каждого сервера сети сложите maximum-pool-size плагинов с MySQL/MariaDB (LuckPerms по умолчанию 10) и умножьте на число серверов.
  2. Сравните с SHOW VARIABLES LIKE 'max_connections'; (и max_user_connections) на БД; текущие соединения — SHOW STATUS LIKE 'Threads_connected';.
  3. Уменьшите maximum-pool-size там, где нагрузка небольшая (для LuckPerms на backend часто хватает 3–5), или поднимите max_connections, если БД это позволяет.
  4. Если соединений больше, чем должно быть по конфигам, — ищите утечку (включите leak-detection-threshold, см. SIG-DB-012).

Источники