>> есть апач. установлен пакет _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. Хм я всегда понимал maxclients как параметр который передается функции listen (2), то есть то что в очереди стоит. А как тогда рулить очередью ожидающих соединения? -- . ''`. Dmitry E. Oboukhov : :’ : email: unera@debian.org jabber://UNera@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Attachment:
signature.asc
Description: Digital signature