Назад | Перейти на главную страницу

время ожидания сайта при большой нагрузке

Мой клиент рассылает ебласты в 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?

Спасибо

Это очень сильно зависит от приложения, а также от моделей трафика / использования. Я бы порекомендовал войти на сервер в то время (если это вообще возможно), чтобы собрать некоторую важную статистику:

  • Количество запущенных процессов Apache
  • Среднее количество памяти, используемой на процесс Apache
  • Общая память, используемая приложениями / некэшированная.
  • Использование ЦП / средняя нагрузка
  • Количество открытых файлов на диске
  • Количество открытых подключений (вставьте сюда базу данных).

А затем я бы также просмотрел журналы, чтобы увидеть, отображаются ли какие-либо сообщения об ошибках.

В зависимости от того, как настроены ваши службы, это может быть что угодно: от исчерпания памяти до перегрузки процессора, превышения пула соединений mysql и превышения пула соединений apache.

Вы также можете использовать такие инструменты, как iotop, mytop, top и ntop, чтобы в реальном времени видеть, что происходит, или вы можете использовать apache ab для выполнения небольшого нагрузочного тестирования. В конечном итоге, хотя я думаю, вам может понадобиться что-то более интеллектуальное и программируемое, чтобы более точно воспроизвести шаблоны использования вашего клиента. На самом деле не обязательно быть фантастическим, несколько сценариев shell + curl для доступа к различным частям вашего сайта.