我在256MB RAM VPS上运行Lighttpd(估计stream量低)。
为了优化我的服务器性能,我决定改变这些设置:
"PHP_FCGI_CHILDREN" => "1", "PHP_FCGI_MAX_REQUESTS" => "20"
我设置1个孩子的原因是设置了4个php_cgi进程:
2413 11336 / usr / bin / php-cgi 2415 4592 / usr / bin / php-cgi 2417 11336 / usr / bin / php-cgi 2419 27656 / usr / bin / php-cgi
如果我设置了4,我就会有8个以上的孩子。 我想知道为什么,如果这是确定的。 现在我的networking服务器非常快,因为我终于不像以前那样依靠大规模的交换了。
谢谢
正如你在这个FAQ中看到的,有三个configuration选项可以控制mod_php进程的数量。
PHP_FCGI_CHILDREN
(默认为1) max-procs
(默认为4) min-procs
(在当前版本中被忽略) 计算最初产生的过程的公式如下所示:
no_of_procs = max-procs * ( PHP_FCGI_CHILDREN + 1)
这意味着,对于max-procs
PHP_FCGI_CHILDREN
中的每个PHP_FCGI_CHILDREN
启动PHP_FCGI_CHILDREN
workers +1监护进程。
对于较新的lighttpd实例,应将PHP_FCGI_CHILDREN设置为0,并控制生成的实例数量。
这可以帮助减less运行总进程的数量,因为不需要额外的主进程。 但是,如果您正在使用字节码caching,则只需设置1个衍生的主进程并控制其下的subprocess。
将PHP_MAX_REQUESTS设置为500,以避免另一个潜在的问题。