我正在尝试优化 PHP 站点以在高负载下进行扩展。我目前正在使用 Nginx、APC 和 Redis 作为数据库缓存。
所有这些都运行良好,并且比库存要好得多。
我的问题是关于 php-fpm:
我使用 php-fpm VS 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