URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5272
[ Назад ]

Исходное сообщение
"Как ограничить число 'отдыхающих' процессов Apache?"

Отправлено Flex25 , 30-Сен-07 15:46 
У меня на сервере всего 500Mb оперативки и возникает такая проблема: Apache порождает много процессов, большинство из которых не работеют (ожидают запросов), находясь в состоянии sbwait, и занимают много памяти.

Помогает только перезагрузка Apache, после нее процессов становится намного меньше, памяти свободной больше. Но через 1-2 часа Apache снова всю память забирает.

Я сделал у Apache вроде бы правильные настройки:

Maxclients=150
StartServers=5
MinSpareServers=5
MaxSpareServers=10
KeepAliveTimeout=5
Timeout=30

Что можно сделать в такой ситуации? Как заставить Apache удалять большинство (не все) ожидающие работы процессы?

Может ли подвешивать процессы Apache использование постоянного соединения php и mysql - функция mysql_pconnect?


Содержание

Сообщения в этом обсуждении
"Как ограничить число 'отдыхающих' процессов Apache?"
Отправлено johnjoy , 04-Окт-07 23:22 
ставьте nginx перед апачем, выключайте keepalive и жестко ограничивайте количество процессов апача 5-10 (поверьте, больше не надо):
StartServers         5
MinSpareServers      5
MaxSpareServers     10
MaxClients          10

Не забудьте поставить mod_rpaf или mod_realip

Дальнейшие шаги:
-подключте php акселератор (тот же eaccelerator)
-отдавайте статику через nginx