Ограничить Apache до 1 запроса на процесс - PullRequest
2 голосов
/ 13 апреля 2010

У меня есть несколько долго работающих процессов на apache, и когда сервер получает небольшую нагрузку, они все, кажется, объединяются в 3-4 процесса. Я попытался установить MaxRequestsPerChild в 1, и это работает, но порождение новых процессов все время стоит дорого. Так есть ли способ ограничить 1 запрос на процесс / поток, не разрушая его постоянно.

Вот моя текущая конфигурация:

<IfModule prefork.c>
StartServers       25
MinSpareServers    50
MaxSpareServers   50
ServerLimit      512
MaxClients       50
MaxRequestsPerChild  10
</IfModule>
<IfModule worker.c>
StartServers         25
MaxClients        50
MinSpareThreads     50
MaxSpareThreads     125
ThreadsPerChild     50
MaxRequestsPerChild  10
</IfModule>

Ответы [ 2 ]

2 голосов
/ 19 апреля 2010

Вы хотите отключить «KeepAlive»:

KeepAlive off

Это отключает постоянные соединения. Смотри http://httpd.apache.org/docs/2.0/mod/core.html#KeepAlive

0 голосов
/ 13 апреля 2010

ThreadsPerChild контролирует количество запросов на процесс. Итак, вот мой полученный конфиг:

<IfModule prefork.c>
StartServers       100
MinSpareServers    150
MaxSpareServers   150
ServerLimit      512
MaxClients       150
MaxRequestsPerChild  100
</IfModule>

<IfModule worker.c>
StartServers         100
MaxClients         150
MinSpareThreads     150
MaxSpareThreads     150
ThreadsPerChild     1
MaxRequestsPerChild  100
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...