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 连接可以设为长连接,可以提升少量速度  

 

posted on 2019-04-15 15:06  潇潇六月雨  阅读(102)  评论(0)    收藏  举报