Настройка Apache prefork в httpd.conf
Настройка Apache prefork в httpd.conf
prefork - модуль мультипроцессорной обработки (MPM - Multi-Processing Module).
Это лучший MPM для того, чтобы изолировать каждый запрос, так, чтобы проблема с единственным запросом не затронула никакой другой.
MPM prefork очень автономный и редко возникает необходимость в изменении его настроек с умолчания (default).
Самый важный параметр prefork MPM - это
MaxClients!
КАК ЭТО РАБОТАЕТ:
Существует единственный основной (родительский) процесс, который ответственен за создание дочерних процессов, которые в свою очередь прислушиваются к связям и обрабатывают запросы клиента. Apache всегда пробует держать в запасе несколько неиспользуемых серверных процессов, которые готовы обработать поступающие запросы.
Таким образом, клиенты не должны ждать создания новых дочерних процессов, которые будут разветвленны прежде, чем их запрос обслужится.
Директивы StartServers, MinSpareServers, MaxSpareServers и MaxClients регулируют, как родительский процесс создает дочерние процессы, чтобы обслуживать запросы.
Вообще, Apache очень автономен, таким образом для большинство web-сайтов нет необходимости изменения этих дирректив от значений по умолчанию (default).
Для сайтов, которые должны обслуживать большее 256 одновременных запросов, возможно, следует увеличить MaxClients, а для сайтов, расположенных на серверах с ограниченной памятью, возможно, следует уменьшить значение MaxClients, чтобы не довести сервер до необходимости свапа памяти на диск (swapping memory to disk and back), что приведет к сильным замедлением в работе.
Практически в самом начале основного конфигурационного файла httpd.conf мы видим следующее: