Spec-Zone .ru
спецификации, руководства, описания, API
|
Если Вы получаете 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.