Количество процессов apache

При пиковой нагрузке у меня памяти одновременно висит 32 процесса Apache на одном сервере, а на втором 7.
Где задается максимальное количество процессов?

И как понять какие из процессов являются зомби?
И на выполнение чего они застряли?

Вариант выкинуть apache и поставить nginx + php-fpm хороший, на я хочу разобратся в сути вопроса.
  • Вопрос задан
  • 18032 просмотра
Решения вопроса 1
@bondbig
Где задается максимальное количество процессов?

Опция
ServerLimit
в конфиге апача.
И как понять какие из процессов являются зомби?
ps aux | grep apache
PROCESS STATE CODES
Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display
to describe the state of a process.
D Uninterruptible sleep (usually IO)
R Running or runnable (on run queue)
S Interruptible sleep (waiting for an event to complete)
T Stopped, either by a job control signal or because it is being traced.
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z Defunct ("zombie") process, terminated but not reaped by its parent.

И на выполнение чего они застряли?
Тут сложнее, либо strace, но можно для начала глянуть в server_status
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
Апач очень плодится при нагрузке, когда много медленных клиентов (в плане скорости загрузки) пытаются получить странички. Поэтому на нагруженном сервере рекомендую приставить к нему nginx как реверспрокси. Он будет обращаться к апачу за страничкой, у которого быстро отработает процесс, после чего медленно «скармливть» ее клиенту, не позволяя апачевскому процессу все это время бесполезно отжирать память.

Руководств по настройке этого безобразия в инете огромное множество, так что ссылки приводить не буду. ;)
Ответ написан
ColorPrint
@ColorPrint
к.т.н., HighLoad, webhosting, domains registrar...
nginx + php-fpm рулит на самом деле. стараюсь только такую связку и использовать на серверах.
ну или в крайнем случае апач с mpm-worker + php-fpm / php-fastcgi.
CGI скрипты также можно с nginx запускать без проблем через враппер.
Ответ написан
Комментировать
@Nickolas
> И на выполнение чего они застряли?
Они не застряли, а завершили работу. А вот их родитель никак это событие не обработал по каким-то причинам.
Ответ написан
Комментировать
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
debian.pro/147 почитайте. Если nginx не будете прикручивать, то про опции, задающие количество процессов почитаете.

А процессы на самом деле могут быть и работающими. Мало ли кто на вашем сайте висит)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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