php5-fpm pm ondemand仍然是内存问题

在从dynamic切换到ondemand我的内存使用情况在我的1GB VPS上减less了,但似乎在一些高负载情况下,服务器仍然卡住。 这是一个具有1GB真实RAM和4GB“假内存”(SSD Cache)的VMWare VPS。

我安装了newrelic服务器监控,并意识到这个问题似乎仍然是php5-fpm。 服务器负载达到150(2 cpu系统),所有php-fpm池产生最多10个孩子,吃了近2.5 GB的RAM,而系统的平均RAM使用量是300 MB。

如果我正确理解,所有的备用服务器设置是没有用的,产生的孩子应该在请求完成后死亡。 所以我唯一能做的就是进一步降低max_children ,但是因为我有30多个泳池,所以我觉得这样做对我来说都不会有任何帮助。

这是我的标准池configuration:

 [web2] listen = 127.0.0.1:9011 listen.allowed_clients = 127.0.0.1 user = web2 group = client1 pm = ondemand pm.max_children = 10 pm.process_idle_timeout = 10s; pm.max_requests = 0 

有没有人有一个想法如何优化这个设置,以便服务器不会在高负载情况下挂起?

****** EDIT ******我试过process.max = 32但是我很不确定在使用ondemand时候甚至会改变什么。 服务器今天再次崩溃,我不知道是什么问题。 完全适中的交通。 如果我急于在页面上使用blitz.io,一切都会顺利进行。 他生成了所有10个孩子,并尽可能快地传递页面,同时提供500多个请求,而不会使服务器爆炸。

终于find了问题。

在阅读了很多有关WordPress的僵尸networking之后,我不知道为什么我第一次没有想到这一点。 所有的游泳池都是Wordpress站点,而且它们随时都会被僵尸networking同时击中,这使服务器变得怪异。

我现在安装了fail2ban (我敢肯定,我也在旧的服务器上完成了这个工作),并降低了max_children ,似乎服务器现在可以在不需要重新启动的情况下继续攻击。