[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apache: как ограничить число воркеров?



On Wed, Apr 04, 2012 at 09:53:56PM +0400, Dmitry E. Oboukhov wrote:
> есть апач. установлен пакет _mpm_prefork
> 
> в конфиге прописано следующее:
> 
> <IfModule mpm_prefork_module>
>         StartServers            1
>         MinSpareServers         5
>         MaxSpareServers         5
>         ServerLimit             500
>         MaxClients              500
>         MaxRequestsPerChild     200
> </IfModule>
> 
> в результате ps ax показывает 1 рутовый процесс апача и 6 апачей
> пользователя. вроде все ок.
> 
> все крутится на виртуальном хосте где мало памяти. Тут несколько раз
> сработал мониторинг и по логам OOM-киллер килял апачи. Ковырял думал
> мож в скриптах где ошибка. Не нашел. однако в очередную перегрузку
> увидел в ps ax что процессов сильно больше 6: где-то 30. Ну и понятно
> они память пожрали суммарно.
> 
> пытался смоделировать ситуацию: на AE сделал параллельных 200
> запросов, но больше 6 процессов не увидел.
> 
> В каких случаях может наращиваться количество процессов и как их
> жестко ограничить? Я чего-то видимо не понимаю
The MaxClients directive sets the limit on the number of simultaneous
requests that will be served. Any connection attempts over the MaxClients
limit will normally be queued, up to a number based on the ListenBacklog
directive. Once a child process is freed at the end of a different
request, the connection will then be serviced.

For non-threaded servers (i.e., prefork), MaxClients translates into the
maximum number of child processes that will be launched to serve requests.


-- 
WBR, wRAR

Attachment: signature.asc
Description: Digital signature


Reply to: