网站常出现502 bad gateway,程序没有问题
查询nginx日志:
connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable)
发现php-fpm的listen是unix sock方式运行的,问题可能出在php-fpm上。php fpm配置文件里有backlog,backlog是linux服务器在socket处理连接数的定义,phpfpm默认为-1,将-1改为4096,重启php fpm问题解决。
由于php-fpm backlog参数设置为-1,导致fpm没能及时取出完成连接队列的socket,出现SYN 超时,最终导致压不上去,表现出性能差。
所以安装php-fpm时backlog一定要重新设置,不能用fpm默认配置的-1 ,可以根据机器的并发量来设置,建议设置在1024以上,最好是2的幂值(因为内核会调整成2的n次幂)。
如果发现php机器性能特不合理,试试改一下fpm的backlog参数吧,您肯定会震惊的。。。。
转载请注明:拈花古佛 » php-fpm backlog参数潜在问题