当业务有高并发的情况的时候,需要调整backlog。
对于PHP而言,需要注意以下3方面:1.操作系统 sysctl 2.web端 nginx 3.php后端 php-fpm
操作系统以Ubuntu为例,编辑默认配置文件 /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为例,可通过默认配置 /usr/local/nginx/conf/nginx.conf 文件中的监听选项来调整。
listen 80 backlog=8192;
php后台,以php-fpm为例,可以通过默认配置 /usr/local/phpfpm/etc/xx.conf 文件进行调整。比如:
listen.backlog = 8192 # 默认为-1(由系统决定)