Мой клиент рассылает ебласты в 8 утра понедельника / среды / пятницы. Между 8: 15–8: 45 сайт становится очень медленным, и у многих пользователей время ожидания сеансов.
Моя установка: Mediatemple VE 2 ГБ выделенной оперативной памяти (3 пакета) Ubuntu 9.10 Apache2-mpm-worker PHP5.3-fcgi MySQL 5
Недавно я попытался решить эту проблему, переключившись с apache2-mpm-prefork на mpm-worker, но у меня все еще возникают те же проблемы.
Мои настройки apache:
Timeout 100
KeepAlive On
MaxKeepAliveRequests 100
<IfModule mpm_worker_module>
StartServers 12
MinSpareThreads 25
MaxSpareThreads 96
ThreadLimit 96
ThreadsPerChild 25
MaxClients 225
MaxRequestsPerChild 0
</IfModule>
Сайт получает только ~ 10 000 просмотров страниц с 8 до 9 утра, что, по моему мнению, не должно слишком сильно нагружать сервер. Может это ошибка настроек PHP, или пропускной способности в единицу времени, или сайт перерос сервер?
Любые предложения были бы очень полезны - как вы можете видеть, я хорошо постарался, прежде чем искать помощь (установлен mpm-worker).
Кроме того, может ли кто-нибудь предложить мне бесплатное программное обеспечение для нагрузочного тестирования или учебник по mod_status?
Спасибо
Это очень сильно зависит от приложения, а также от моделей трафика / использования. Я бы порекомендовал войти на сервер в то время (если это вообще возможно), чтобы собрать некоторую важную статистику:
А затем я бы также просмотрел журналы, чтобы увидеть, отображаются ли какие-либо сообщения об ошибках.
В зависимости от того, как настроены ваши службы, это может быть что угодно: от исчерпания памяти до перегрузки процессора, превышения пула соединений mysql и превышения пула соединений apache.
Вы также можете использовать такие инструменты, как iotop, mytop, top и ntop, чтобы в реальном времени видеть, что происходит, или вы можете использовать apache ab для выполнения небольшого нагрузочного тестирования. В конечном итоге, хотя я думаю, вам может понадобиться что-то более интеллектуальное и программируемое, чтобы более точно воспроизвести шаблоны использования вашего клиента. На самом деле не обязательно быть фантастическим, несколько сценариев shell + curl для доступа к различным частям вашего сайта.