nginx 并发优化

nginx 安装统计模块,便于观察nginx的状态

在nginx安装时添加

--with-http_stub_status_module


配置:

  进入nginx.conf

  新建一个location 模块

  location /status {

    stub_status on;
    access_log off;
    allow 174.16.10.110;
    deny all;
  }

 

nginx响应请求

1:建立socket连接

2:打开文件,并沿socket返回

 

排查问题,也要注意观察这两点

主要从系统的dmesg 和  nginx的error_log 观察

 

 

 

 

socket层面

直接写脚本:

  touch tcpopt.sh

    echo 50000 > /proc/sys/net/core/somaxconn  

    echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle

    echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

    echo 0 > /proc/sys/net/ipv4/tcp_syncookies

 

1.修改nginx.conf  里面的   worker_connections 1024   数值改大点  10240

2.系统层面 more /proc/sys/net/core/somaxconn   

  查看后只有128   

  把这数值改大  改到50000

  echo 50000 > /proc/sys/net/core/somaxconn

3. 加快tcp回收

  查找文件  ls /proc/sys/net/ipv4 | grep tcp_tw_recycle

  查看  cat /proc/sys/net/ipv4/tcp_tw_recycle    显示值  0  表示不进行快速回收

  修改: echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle

 

  cat /proc/sys/net/ipv4/tcp_tw_reuse      显示值  0  表示不进行快速回收

  修改: echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

 

4.洪水抵御

  more /proc/sys/net/ipv4/tcp_syncookies   显示值 1 表示开启洪水抵御

  修改: echo 0 > /proc/sys/net/ipv4/tcp_syncookies

 

文件层面

  ulimit -n   查看最大连接数  数值为1024   

  修改值    ulimit -n 50000

 

  nginx.conf   添加一个工作进程允许打开多少个文件:

    在全局区  worker_processes  下面添加       

    work_rlimit_nofile 10000;

 

高并发网站需要注意

  http 1.1   keepa live   减少http多次握手,持续连接

  但对于高并发网站弊大于利,所以关掉;

  nginx.conf     的 

    http{

      keepalive_timeout  0;

    }

  php的memcached 连接可以设为长连接,可以提升少量速度  

 

转载于:https://www.cnblogs.com/jasonLiu2018/articles/10710734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值