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

Apache переходит прямо к 100% использованию памяти на localhost

Я запускаю XAMPP на тестовом сервере OS X ... Я единственный, кто отправляет запросы на сервер. Я никогда раньше не связывался с конфигурацией Apache, так что здесь я вроде как без весла.

Когда я запускаю Apache, у меня запускается ~ 10 процессов httpd и 95% простоя процессора. Когда я запрашиваю страницу WordPress, загрузка ЦП достигает 50%, а страница загружается примерно за пять секунд. Похоже, что после завершения загрузки страницы загрузка ЦП возрастает до 100%, почти весь этот httpd. Запускается множество процессов, и они не прекращаются, а их загрузка ЦП остается неизменной.

Я изменил настройку MaxRequestPerChild и т. Д., Но, похоже, ничего не решает проблему. Даже сейчас, когда вы не отправляете никаких запросов в течение примерно 15 минут, загрузка ЦП составляет 100%.

Вот подходящие настройки:

Timeout 10
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 3
<IfModule mpm_prefork_module>
    StartServers       5
    MinSpareServers    0
    MaxSpareServers    2
    MaxClients         20
    MaxRequestsPerChild 50
</IfModule>

Я всегда думал, что как только запрос был сделан, Apache убивает процесс. Могу ли я что-нибудь сделать, чтобы снизить нагрузку на ЦП, или это просто то, с чем мне придется иметь дело?

Спасибо за помощь идиоту Apache.

Чтобы ответить на ваш вопрос о том, что происходит после обработки запроса, Apache постоянно поддерживает определенное количество дочерних процессов. Таким образом, Apache может обрабатывать запросы без необходимости всегда выполнять вилку. Количество дочерних процессов и их продолжительность жизни настраиваются.

Перед настройкой значений в указанной вами части конфигурации Apache проверьте, какой Apache MPM (модуль многопроцессорной обработки) вы используете. В UNIX / Linux двумя наиболее распространенными являются Prefork и Worker. Найдите исполняемый файл httpd и выполните следующую команду:

./httpd -l

В нем будут перечислены все модули, скомпилированные непосредственно в httpd, включая MPM. Указанная вами часть конфигурации Apache, которая начинается с символа "", активна только при использовании Prefork MPM. Аналогичный раздел есть и для Worker MPM. Попробуйте настроить значения в зависимости от того, какой из этих разделов подходит для вашей инстилляции.

Если проблема не исчезнет, ​​проверьте журнал ошибок на предмет подсказок. Удачи.

Проверьте свой файл журнала apache на предмет запросов цикла перенаправления.

Если вы разместите здесь снимок файла журнала, вам будет легко помочь ..