Php
如何有效地減少執行的 php-cgi 程序?
我的伺服器是 Linode 512,在它上面我執行一個 Wordpress MU,它有 3 個網站(他們沒有很多訪問者)和幾個 NodeJS 應用程序。
我需要切換到 Lighttpd,因為 Apache 2 使用了大約 59% 的伺服器 RAM,而現在我的 php-cgi 程序佔用了大約 43.6% 的伺服器 RAM:
- 大多數情況下,兩個程序每個使用 16.5% 的 RAM,
- 4 個程序每個使用 1.8% 的 RAM,並且
- 另外 4 個程序使用 0.8% 的 RAM,每個程序
我怎樣才能減少這些過程?我幾乎可以肯定,這台伺服器獲得的流量並不都需要它們……
我嘗試只允許 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 以使用更少的 RAM?
如果您設置 bin-path 則 lighttpd 負責生成 fcgi 程序,受以下限制:
"max-procs" => <integer>, # optional - when omitted, default is 4
環境變數 PHP_FCGI_CHILDREN 是 php 執行檔在內部生成更多程序的附加提示,您可以將其設置為零。
您沒有指定 max-procs ,因此 lighty 產生了 4 個 procs,每個 procs 都有兩個額外的孩子 - 4
$$ max-procs $$* (1+2$$ PHP_FCGI_CHILDREN $$).
查看有關 php-cgi的 lighttpd文件。看來您可能需要設置
max-procs
指令來限制子程序的總數。