У меня серьезные проблемы с производственным сервером под управлением Ubuntu 11.10 с 48 ГБ ОЗУ. Мой веб-сервер (Apache 2.1) настроен на использование примерно 18 ГБ ОЗУ. Я попытался вычислить это значение, установив
с каждым дочерним процессом, занимающим почти 23 МБ оперативной памяти
Apache MPM настроен на модуль prefork
Дополнительно мы используем
Я внес аналогичные изменения в свой сервер MySQL (v5.1), изменив max_used_connections до 800 с участием
Сейчас max_used_connection быстро увеличивается и через пару часов остановился на 595 и снова он поднялся до максимального значения 800. Я даже попытался изменить конфигурацию mysql по умолчанию, но все равно никаких изменений.
По какой-то причине изменение конфигурации Apache по умолчанию теперь решает проблему max_used_connections стабильно около 57.
У кого-нибудь есть представление об этом поведении? Может ли конфигурация Apache повлиять на производительность Mysql?
Это ужасный способ запустить apache на большом сервере.
Рассмотрите возможность запуска рабочего MPM (облегченной модели потоковой передачи) и динамических запросов прокси (PHP) к бэкэнду fastCGI через официальный модуль apache mod_fcgid.
Также убедитесь, что вы установили статическое количество соединений PHP -> mysqli, и повторно используете этот пул.
Вы можете легко поддерживать 5000 одновременных клиентов с помощью описанной выше настройки.