hosting:mysql:issues:max-user-connections

2.7.3.5. Ошибка max_user_connections

Ошибка «User 'example_db' has exceeded the 'max_user_connections' resource (current value: XX)» возникает при превышении лимита на количество одновременных подключений к базе данных.

Текущий лимит отображается в тексте ошибки в скобках напротив «current value».

Изменить лимит можно только путём перехода на больший тариф бизнес-хостинга. При этом стоит учитывать, что простая смена тарифа и увеличение лимита не гарантирует, что проблема будет решена. Если сайт создаёт слишком много подключений к базе данных, в первую очередь рекомендуется найти первопричины такого поведения, изучив код самого сайта. Увеличение лимита без анализа проблемы может привести к тому, что новый лимит также быстро исчерпается, либо будут исчерпаны другие ресурсы (процессор или оперативная память).

Стандартные значения лимита:

  • Виртуальный хостинг — 50 (на всех тарифах).

OLD information * Бизнес-хостинг: * Бизнес 2G — 180. * Бизнес 4G — 360. * Бизнес 6G — 540. * Бизнес 8G — 720. * Бизнес 16G — 900.

  • Бизнес-хостинг:
    • Бизнес 2G — 120.
    • Бизнес 4G — 180.
    • Бизнес 6G — 200.
    • Бизнес 8G — 200.
    • Бизнес 16G — 200.

Наиболее частые причины возникновения проблемы:

  • Высокое потребление серверных ресурсов:
    • Потребление выделенных процессорных ресурсов на 100%.
    • Потребление выделенной оперативной памяти на 100%.
  • Медленные и тяжёлые запросы в базе данных.
  • Множество подключений к базе данных, создаваемые скриптами сайта или сторонним ПО.

Чтобы исправить ситуацию, стоит изначально определить причину возникновения проблемы и предпринять действия по её устранению:

  1. Проверьте наличие высоких показателей нагрузки на графиках потребления ресурсов. В случае, если наблюдаются высокие значения потребления ресурсов, то стоит принять меры для их устранения, так как последствием высокой нагрузки могут стать проблемы в работе всех сайтов в хостинг-аккаунте.
  2. Большие проблемные запросы фиксируются и отображаются в панели управления хостингом в разделе «Медленные запросы». Причиной может быть как неправильное составление запроса, который уже изначально является довольно тяжёлым, так и неоптимизированность структуры базы данных. Стоит рассмотреть возможность оптимизации самих запросов и базы данных.
  3. В случае, если предыдущие две причины были проверены, но их признаков не наблюдается, стоит попробовать временно изменить пароль базы данных, для того, чтобы не создавались новые подключения. В таком случае спустя некоторое время все подключения будут завершены и к базе данных можно будет подключиться для дальнейшего обслуживания и поиска возможных причин. Если сложно определить, что именно может вызывать такую проблему, то стоит во всех скриптах и во всём ПО, где использовалась эта база данных с этим же пользователем, постепенно менять пароль для подключения на актуальный и проверять наличие повторного возникновения проблемы.
  • hosting/mysql/issues/max-user-connections.txt
  • Последние изменения: 2020/03/12 14:49
  • — zinenko