fastcgi配置中有4个字段,max-procs,max-load-per-proc,PHP_FCGI_CHILDREN,PHP_FCGI_MAX_REQUESTS:
fastcgi.server = ( ".php" =>
(( "socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/local/bin/php",
"max-procs" => "2",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "3",
"PHP_FCGI_MAX_REQUESTS" => "10000" )
))
)
因此,将有1个具有2个进程的fastcgi后端。这些过程接受负载。
我不明白以下几点:
答案 0 :(得分:0)
希望这可以帮助您了解情况
此答案其余部分的一些上下文:
“主”进程是产生的进程。这样就可以与其子级共享所有资源(例如内存)。但是,尽管它不能处理php请求,但可以将其视为实际请求处理程序的容器
“子”过程实际上是处理php请求的过程。反过来,这也是您对“主”流程施加多少负载的很大因素。
这里的一般策略应该是在保持稳定性的同时,尽量减少“主”进程的数量,并最大化“子”进程的数量,因为子进程将与兄弟姐妹共享操作缓存,内存空间和系统资源。
PHP_FCGI_CHILDREN
=“主”进程可以产生的子进程数量。PHP_FCGI_CHILDREN
PHP_FCGI_CHILDREN
,默认为 1 ,如果将其设置为另一个值,则始终将1赋予您指定的数字[。因此,如果将其指定为1,它将添加1,它将变成2 ] PHP_FCGI_CHILDREN=0
,则每个“主”进程将仅产生1个子进程