Jam*_*ton 10 mod-php apache-2.2
当 apache fork 一个 mod-php 进程时,它会存活多久?该进程是在发送响应后立即死亡,还是会一直保持活动状态直到浏览器收到完整响应?
如果您使用的是 mod-php,那么您可能使用的是prefork
MPM,它会生成子进程来处理请求。这些子项的数量和生命周期由您的主apache2.conf
(或httpd.conf
,取决于您的发行版)文件中的指令控制。
寻找看起来像这样的部分(您的值可能会有所不同):
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
Run Code Online (Sandbox Code Playgroud)
Apache 会StartServers
自动生成子代。这些进程将空闲直到请求进来。如果子进程变得忙碌,它将派生到MaxClients
子进程来处理负载,试图保持MinSpareServers
空闲子进程来接收新请求。一旦事情平静下来,闲散的孩子将被杀死,直到计数下降到MaxSpareServers
。
您要问的位由MaxRequestsPerChild
. 设置为 0,这意味着孩子可以永远活着,这是大多数 apache 安装中的默认值。设置为其他任何值,这意味着一旦处理了该数量的请求,无论当前负载如何,每个子进程都将被强制终止并重新启动。
有关 prefork MPM 的更多详细信息,请访问:http : //httpd.apache.org/docs/2.2/mod/prefork.html
归档时间: |
|
查看次数: |
11358 次 |
最近记录: |