用于WordPress的PHP-FPM吞噬内存

时间:2013-06-26 08:18:30

标签: wordpress memory nginx vps php

我有一个很小的,但不是很小的VPS:1.5GHz,1GB专用RAM,1GB突发RAM,一些40GB硬盘。

堆栈是CentOS nginX mySQL(Percona)PHP-FPM。

我有3个低流量网站(每个网站每天10-40个访问者),每个网站都运行一个单独的WordPress实例。

此外,我还有3个WordPress实例。这3个站点尚未启动,因此有效流量为零。

在过去一个月左右,CPU使用量从未超过5%。

然而,PHP-FPM进程占用了大量内存。目前,我正在使用3GB(不知道如何...因为我可以使用的专用+ burstable应该只有2GB)。

3个活跃网站的PHP-FPM流程分别使用732MB,438MB和89MB。

4个零流量,零内容网站的PHP-FPM流程分别使用679MB,621MB和596MB。

此外:

  • php-fpm(apache)127MB
  • mysqld 122MB
  • nginx 44MB
  • 命名为21MB
  • miniserv.pl 20MB
  • lfd 16MB
  • php-fpm(ispconfig)13MB
  • php-fpm(ispapps)13MB
  • php-fpm(root)7MB
  • newrelic-daemon 7MB
  • nginx(root)4MB
  • rsyslogd(root)3MB
  • nrsysmond(newrelic)3MB
  • mysqld_safe(root)2MB

示例PHP-FPM配置:http://hennalap.com/phpinfo.php

对于大多数这些网站,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

2 个答案:

答案 0 :(得分:0)

PHP-FPM是罪魁祸首。

我开始寻找更新,发现我的版本(5.3.3)是PHP-FPM的最后一个独立版本。随后它被合并到主PHP项目中。

PHP已经在5.5.0上,所以我决定升级到那个。但是,ISPConfig3与5.5.0不兼容,所以我最终升级到了5.4.16。

我还设置了pm = ondemand(虽然pm = dynamic可能同样有效)。

现在,我的内存使用量是450MB,低于3.5GB!

答案 1 :(得分:-2)

Umm可能配置错误,PHP-fpm永远不会杀死孩子(所以永远不会重新启动,永远不会清理RAM),APC缓存,php-fpm每个进程使用128 MB的RAM是他们不重启可以使用大量的RAM。

也许您可以发布一些日志和配置。

你在wordpress或某些插件上使用w3tc而不是缓存并在APC上保存信息?