PHP环境-服务器并发优化

1.请求异步化

将系统的请求异步处理。

2.优化nginx-php-fpm

高并发情况下,系统会出现超时和等待处理的情况

2.1 php-fpm 参数优化

request_terminate_timeout=180

//解决Nginx报502 Bad Gateway错误

pm.max_children=1000

//增加PHP进程数,增加并发处理能力;

此参数可根据服务器内存情况配置,每个进程大概占用20多M内存。

pm.max_requests=10000

//增加PHP单进程处理的请求数,防止大量进程同时重启造成的不可用风险

listen.backlog=65535

//解决高并发下TCP连接过多,Nginx报500的错误。

2.2 nginx 调优

location ~ .php$ {
      fastcgi_connect_timeout 180 ;
      fastcgi_send_timeout 180 ;
      fastcgi_read_timeout 180 ;
 }
//解决Nginx报504 Gateway Time-out错误

3. linux内核调优

1.	修改TCP协议栈并发连接 backlog 设置
net.core.somaxconn=32768
net.core.netdev_max_backlog=32768
net.ipv4.tcp_max_syn_backlog=32768
2.	修改TCP协议栈连接追踪设置
net.nf_conntrack_max=655360
net.netfilter.nf_conntrack_max=655360
net.netfilter.nf_conntrack_tcp_timeout_time_wait=30
3.	设置可用端口范围
net.ipv4.ip_local_port_range='1000 65535'
4.	放开服务器最大文件句柄65535的限制
fs.file-max=2097152
sysctl -w fs.nr_open=2097152
//修改系统全局允许分配的最大文件句柄数
ulimit -n 1048576
//设置当前会话/进程打开文件句柄数
soft    nofile      1048576
hard   nofile      1048576
//修改/etc/security/limits.conf配置中允许用户/进程打开文件句柄数

未经允许不得转载:PHP100中文网 - 中国第一档PHP资源分享门户 » PHP环境-服务器并发优化

赞 (1) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏