我有一個小而精緻的VPS:1.5GHz,1GB專用內存,1GB可破解內存,40GB硬盤。用於WordPress的PHP-FPM吞噬內存
該堆棧是CentOS nginX mySQL(Percona)PHP-FPM。
我有3個低流量網站(每個網站每天10-40個訪問者),每個網站運行一個獨立的WordPress實例。
此外,我還有3個WordPress的實例。這3個站點尚未啓動,因此有效的流量爲零。
在過去一個月左右,CPU使用率從未上漲到5%以上。
然而,PHP-FPM過程佔用了大量的內存。目前,我正在使用3GB(不知道如何...因爲專用+突發可用於我應該只有2GB)。
3個活動網站的PHP-FPM過程分別使用732MB,438MB和89MB。
針對4個零流量,零內容網站的PHP-FPM流程分別使用679MB,621MB和596MB。
此外:
- PHP-FPM(阿帕奇)127MB
- mysqld的122MB
- nginx的44MB
- 命名21MB
- miniserv.pl 20MB
- LFD 16MB
- PHP -fpm(ispconfig)13MB
- PHP-FPM(ispapps)13MB
- PHP-FPM(根)7MB
- NewRelic的守護7MB
- nginx的(根)4MB
- rsyslogd(根)3MB
- nrsysmond(NewRelic的)3MB
- mysqld_safe的(根)2MB
示例PHP-FPM配置:
對於大多數這些網站,的conf文件有像
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 0
運行'ps aux | grep php-fpm'。如果你看到一些php-fpm子進程運行了很長時間(幾個小時甚至幾天),這表明你需要更新你的php-fpm配置來在一些請求('pm。 max_requests')。一個PHP過程應該在幾分鐘內回收,而不是幾個小時。 –
另外你不應該分配256M內存給apc。總共有1G的內存太多了。 –