Обеспечение отказоустойчивости сервера Apache

У меня есть несколько сайтов Wordpress, работающих на Apache 2.4.7 / Ubuntu 14.04.2 LTS. Это виртуальная машина, работающая в Microsoft Azure. Веб-сайты используют сервер MySQL, также работающий на той же машине. Время от времени веб-сайты перестают отвечать, и необходимо перезапустить Apache. Исследование журнала ошибок (/var/log/apache2/error.log) выявляет следующую ошибку:

[mpm_prefork:error] [pid 5761] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

Вот содержимое файла конфигурации Apache (/etc/apache2/mods-enabled/mpm_prefork.conf)

<IfModule mpm_prefork_module>
        StartServers             5
        MinSpareServers          5
        MaxSpareServers          10
        MaxRequestWorkers        256
        MaxConnectionsPerChild   1000
</IfModule>

Я поднял MaxRequestWorkers до максимально допустимого числа (256), но это все еще продолжается. Я попытался изменить настройку MaxConnectionsPerChild, но, похоже, она тоже не дает никакого эффекта. Иногда сайты работают отлично в течение нескольких недель, иногда Apache отключается через день. Иногда процесс MySQL также перестает работать и должен быть перезапущен.

Что еще я должен проверять?

Иногда мы получаем немного более высокую нагрузку на веб-сайты - может ли это вызвать проблему? Что еще более важно, означает ли это, что нам нужно иметь доступную память, иначе веб-сервер аварийно завершит работу? то есть что-нибудь нужно сделать для обеспечения отказоустойчивости, независимо от того, сколько запросов получает веб-сервер?

2
задан 14 April 2015 в 13:13

0 ответов

Другие вопросы по тегам:

Похожие вопросы: