我有一个小而精致的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的内存太多了。 –