如何有效地减lessphp-cgi进程的运行?

我的服务器是一个Linode 512,并且我运行了一个带有3个网站(他们没有很多访问者)的Wordpress MU和一些NodeJS应用程序。

我需要切换到Lighttpd,因为Apache 2使用了大约59%的服务器RAM,现在我的php-cgi进程占用了服务器RAM的43.6%

  • 通常2个进程使用16.5%的RAM,
  • 4个进程每个使用1.8%的RAM
  • 4个更多的进程使用0.8%的RAM,每个

我怎样才能减less这些过程? 我几乎可以肯定,他们并不是所有需要这个服务器的交通…

我尝试只允许2个孩子,但我仍然有这10个…这是我在lighttpd.conf中的fastcgi.server部分。

fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/var/run/lighttpd/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi", "bin-environment" => ( "PHP_FCGI_CHILDREN" => "2", "PHP_FCGI_MAX_REQUESTS" => "4000" ) ) ) ) 

我还能做些什么来调整lighttpd以使用更less的内存?

如果你设置了bin-path,那么lighttpd负责产生fcgi进程,受限于:

 "max-procs" => <integer>, # optional - when omitted, default is 4 

环境variablesPHP_FCGI_CHILDREN是php可执行文件内部产生更多进程的附加提示,可以将其设置为零。

你不指定max-procs,所以有4个proc是由lighty产生的,每个都有两个额外的子对象–4 [max-procs] *(1 + 2 [PHP_FCGI_CHILDREN])。

查看关于php-cgi的lighttpd 文档 。 看来您可能需要设置max-procs指令来限制subprocess的总数。