Задать вопрос
@dmitryim

Апач не использует все доступные слоты?

Господа, имеется следующая ситуация: апач сконфигурирован для работы большого числа процессов, но по факту запускает только 4. В результате 4 процесса зашиваются и сайт тормозит. В чем может быть проблема?


Все работает на VDS с CentOS + Nginx + Apache/2.2.3


Apache использует модуль prefork, вот кусок конфигурации:


<IfModule prefork.c>

MaxKeepAliveRequests 100

KeepAliveTimeout 5

ServerLimit 50

StartServers 15

MinSpareServers 15

MaxSpareServers 20

MaxClients 50

MaxRequestsPerChild 500



server-status выдает примерно следующее:


WW__...............................


Srv PID Acc M CPU SS Req Conn Child Slot

0-1 13520 0/87/90 W 19.02 0 0 0.0 0.15 0.15

1-1 22246 0/13/113 W 7.95 9 0 0.0 0.06 0.99

2-1 13522 0/96/107 _ 21.55 0 0 0.0 0.35 0.45

3-1 17913 0/51/151 _ 15.45 0 0 0.0 0.09 0.44


Т.е. всегда работают только первые четыре слота (WW__), остальные — отдыхают. Всегда.


В /etc/security/limits.conf никаких лимитов не задано.


В логах апача ошибок нет.


Есть ли предположения куда еще можно посмотреть?
  • Вопрос задан
  • 2709 просмотров
Подписаться 2 Оценить 4 комментария
Решения вопроса 1
@dmitryim Автор вопроса
Как нередко бывает — все оказалось намного проще)

Настройки я смотрел и менял только в файле /etc/httpd/conf/httpd.conf (который реально используется).

Но оказалось что всё что касается префорка хоть и было указано в основном файле, но также было продублировано в отдельный файл /etc/httpd/conf.d/prefork.conf — его я сразу не заметил =\

Всем спасибо за помощь, плюс вам в карму! :)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dtx
1. KeepAlive off
2. Натравить ab на какой-то скрипт попроще (типа <?phpinfo();?>) с 10 одновременными соединениями — уверен будет 10 соединений.
Ответ написан
Ваш ответ на вопрос

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

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