Spec-Zone .ru
спецификации, руководства, описания, API

C.5.2.7. Too many connections

Если Вы получаете a Too many connections ошибка, когда Вы пытаетесь соединиться с mysqld сервером, это означает, что все доступные соединения используются другими клиентами.

Числом разрешенных соединений управляют max_connections системная переменная. Значение по умолчанию 151, чтобы улучшить производительность, когда MySQL используется с веб-сервером Apache. (Ранее, значение по умолчанию было 100.), Если Вы должны поддерживать больше соединений, следует установить большее значение для этой переменной.

mysqld фактически разрешает max_connections+1 клиенты, чтобы соединиться. Дополнительное соединение резервируется для использования учетными записями, которые имеют SUPER полномочие. Предоставляя SUPER полномочие администраторам а не нормальным пользователям (кто не должен нуждаться в этом), администратор может соединиться с сервером и использованием SHOW PROCESSLIST диагностировать проблемы, даже если максимальное количество непривилегированных клиентов соединяется. См. Раздел 13.7.5.28,"SHOW PROCESSLIST Синтаксис".

Максимальное количество MySQL соединений может поддерживать, зависит от качества библиотеки потока по данной платформе, количеству доступной RAM, сколько RAM используется для каждого соединения, рабочей нагрузки от каждого соединения, и требуемое время отклика. Linux или Солярис должны быть в состоянии поддерживать в 500 - 1000 одновременных соединений обычно и целых 10 000 соединений, если Вы имеете много гигабайтов в наличии RAM, и рабочая нагрузка от каждого низка или нетребовательная цель времени отклика. Windows ограничивается (открытые таблицы × 2 + открытые соединения) <2048 из-за уровня совместимости Posix, используемого на той платформе.

Увеличение open-files-limit может быть необходимым. Также см. Раздел 2.5, "Устанавливая MySQL на Linux,", для того, как повысить предел операционной системы на том, сколько дескрипторов может использоваться MySQL.