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