php设置backlog,关于PHP-FPM的backlog的默认值

针对高并发场景,文章介绍了如何调整PHP的三大关键层面:操作系统(以CentOS为例)、Nginx前端和PHP-FPM后台。在操作系统层面,建议修改sysctl配置以增大socket连接数;在Nginx层面,通过监听选项增加backlog值;在PHP-FPM层面,需设置合适的listen.backlog参数。默认值可能引发后端连接问题,因此推荐明确设定该值。
摘要由CSDN通过智能技术生成

有高并发的业务,就必须要调整backlog。对于PHP而言,需要注意的有3方面:

1、操作系统 | sysctl

2、WEB前端 | 比如:Nginx

3、PHP后台 | 比如:php-fpm

操作系统以CentOS为例,可通过默认配置 /etc/sysctl.conf 文件进行调整。比如:

net.core.somaxconn = 1048576 # 默认为128

net.core.netdev_max_backlog = 1048576 # 默认为1000

net.ipv4.tcp_max_syn_backlog = 1048576 # 默认为1024

WEB前端以Nginx为例,可通过默认配置 /etc/nginx/nginx.conf 文件中的监听选项来调整。比如:

listen       80 backlog=8192; # 默认为511

PHP后台,以PHP-FPM为例,可以通过默认配置 /etc/php-fpm.d/www.conf 文件进行调整。比如:

listen.backlog = 8192 # 默认为-1(由系统决定)

大系统下,如上3处都应该进行调整。

值得注意的是:

PHP-FPM的配置文件中,关于listen.backlog选项的注释有些误导人:

; Set listen(2) backlog. A value of ‘-1′ means unlimited.

; Default Value: -1

实际上如果使用默认值,很容易出现后端无法连接的问题,按老文档上的解释这个默认是200。建议此处不要留空,务必设置一个合适的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值