답변:
mod-php를 사용한다면 prefork
MPM을 사용하고있을 것입니다. MPM은 하위 프로세스를 생성하여 요청을 처리합니다. 기본 apache2.conf
(또는 httpd.conf
배포판에 따라) 파일의 지시문에 따라 관리되는 이러한 어린이의 수와 수명 .
다음과 같은 부분을 찾으십시오 (값이 다를 수 있음).
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
Apache는 StartServers
자동으로 자식을 생성합니다 . 이러한 프로세스는 요청이 들어올 때까지 유휴 상태가됩니다. 어린이가 바쁘면 MaxClients
로드를 처리 하기 위해 어린이에게 생성되어 MinSpareServers
유휴 어린이가 새 요청을 받도록 유지 합니다. 일단 상황이 진정되면 카운트가 끝날 때까지 유휴 어린이가 사망합니다 MaxSpareServers
.
당신이 묻는 비트는에 의해 처리됩니다 MaxRequestsPerChild
. 0으로 설정하면 이는 어린이가 영원히 살 수 있음을 의미하며 이는 대부분의 아파치 설치에서 기본값입니다. 다른 것으로 설정하면 요청 수를 처리 한 후 현재로드에 관계없이 각 하위 프로세스가 강제로 종료되었다가 다시 시작됩니다.
프리 포크 MPM에 대한 자세한 내용은 여기 ( http://httpd.apache.org/docs/2.2/mod/prefork.html)를 참조 하십시오.
httpd는 mod_php에 대한 프로세스를 포크하지 않습니다. mod_php가 포함 된 프로세스 자체를 분기합니다. 아동은 MaxRequestsPerChild
요청 이 이행 될 때까지 계속 살아 있습니다. mod_php 자체는 스크립트가 종료되거나 시간 제한이 초과 될 때까지 PHP 스크립트에 대한 각 요청을 계속 처리합니다.