Nginx php fpm的伸缩性不如php fastcgi

Nginx php fpm的伸缩性不如php fastcgi,nginx,apc,php,Nginx,Apc,Php,我正在尝试优化一个PHP站点,以便在高负载下进行扩展。 我目前正在使用Nginx、APC和Redis作为数据库缓存 所有这些都运行良好,并且比库存的伸缩性好得多 我的问题是关于php fpm的: 我使用php fpm和php fastcgi进行了负载测试,理论上我应该使用php fpm,因为它具有更好的进程处理能力,并且应该更好地使用APC,因为php fastcgi进程不能共享相同的APC缓存,并且如果我理解正确的话,应该使用更多的内存 现在这件事正在进行重负载测试,php fastcgi的性

我正在尝试优化一个PHP站点,以便在高负载下进行扩展。 我目前正在使用Nginx、APC和Redis作为数据库缓存

所有这些都运行良好,并且比库存的伸缩性好得多

我的问题是关于php fpm的

我使用php fpm和php fastcgi进行了负载测试,理论上我应该使用php fpm,因为它具有更好的进程处理能力,并且应该更好地使用APC,因为php fastcgi进程不能共享相同的APC缓存,并且如果我理解正确的话,应该使用更多的内存

现在这件事正在进行重负载测试,php fastcgi的性能更好,速度不是更快,但“保持”时间更长,而php fpm开始给出超时和错误的时间要早得多

这有什么意义吗

可能我只是没有优化配置php fpm,但我尝试了各种设置,在高容量负载测试场景下无法与php fastcgi匹配

如有任何建议/意见/最佳实践/设置可供尝试,将不胜感激

谢谢

我主要是搞砸了服务器的数量:

pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 100
pm.max_requests = 5000

忘了提到这是在Linux(Ubuntu12.04 x86_64)下发布的,如果您发布了FPM池配置,会很有帮助。您使用的是静态、动态还是ondemand?我使用的是动态,很抱歉,我忘了提到这一点。经过更多的测试,我发现fpm在cpu不足之前表现良好,看起来fcgi处理得更好,但我认为这有点像边缘情况。我用一个“高CPU”实例(AWS EC2)进行了测试,这帮了我不少忙。我还想指出,我用10个5个30的启动最小最大服务器做得更好。。。。高一点也没用,因为CPU在那个时候已经饱和了。