查看nginx的最大连接数及当前最大连接数

查看nginx的最大连接数

(1) 控制 Nginx 单个进程允许的最大连接数的参数为 worker_connections ,这个参数要根据服务器性能和内存使用量来调整

(2) 进程的最大连接数受 Linux 系统进程的最大打开文件数限制,只有执行了 “ulimit -HSn 65535” 之后,worker_connections 才能生效

  • cat /proc/sys/fs/file-max  查看系统级的最大限制
  • ulimit -n  查看用户级的限制

(3) 连接数包括代理服务器的连接、客户端的连接等,Nginx 总并发连接数 = worker 数量 * worker_connections

worker数量:  worker_process ,最好与CPU核数一致,不能大于CPU核数。

worker_connections:单进程的最大并发连接数

 

查看 nginx 的并发连接数

通过查看Nginx的并发连接,我们可以更清除的知道网站的负载情况。Nginx并发查看有两种方法(之所以这么说,是因为笔者只知道两种),一种是通过web界面,一种是通过命令,web查看要比命令查看显示的结果精确一些。下面介绍这两种查看方法

No1、通过浏览器查看
    通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上        –with-http_stub_status_module   然后配置Nginx.conf,在server点里面加入如下内容

location /status {
stub_status on;
access_log /usr/local/nginx/logs/status.log;
auth_basic “NginxStatus”; }

     配置完后重新启动Nginx后我们可以通过浏览器访问http://localhost/status 查看,如下图

解析:
Active connections    //当前 Nginx 正处理的活动连接数。
server accepts handledrequests //总共处理了8 个连接 , 成功创建 8 次握手,总共处理了500个请求。
Reading //nginx 读取到客户端的 Header 信息数。
Writing //nginx 返回给客户端的 Header 信息数。
Waiting //开启 keep-alive 的情况下,这个值等于 active – (reading + writing),意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接

No2、通过命令查看
#netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

TIME_WAIT 17
ESTABLISHED 3254
LAST_ACK 236
FIN_WAIT_1 648
FIN_WAIT_2 581
CLOSING 7
CLOSE_WAIT 4916

解析:
CLOSED  //无连接是活动的或正在进行
LISTEN  //服务器在等待进入呼叫
SYN_RECV  //一个连接请求已经到达,等待确认
SYN_SENT  //应用已经开始,打开一个连接
ESTABLISHED  //正常数据传输状态/当前并发连接数
FIN_WAIT1  //应用说它已经完成
FIN_WAIT2  //另一边已同意释放
ITMED_WAIT  //等待所有分组死掉
CLOSING  //两边同时尝试关闭
TIME_WAIT  //另一边已初始化一个释放
LAST_ACK  //等待所有分组死掉

 

    原文作者:newxwj
    原文地址: https://blog.csdn.net/newxwj/article/details/107018245
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞