xxuyuan 2010-12-10
通过查看Nginx的并发连接,我们可以更清除的知道网站的负载情况。Nginx并发查看有两种方法(之所以这么说,是因为笔者只知道两种),一种是通过web界面,一种是通过命令,web查看要比命令查看显示的结果精确一些。下面介绍这两种查看方法
No1、通过浏览器查看 通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上 --with-http_stub_status_module 然后配置Nginx.conf,在server点里面加入如下内容
stub_statuson;
access_log/usr/local/nginx/logs/status.log;
auth_basic "NginxStatus"; }配置完后重新启动Nginx后我们可以通过浏览器访问http://localhost/status查看,如下图
解析:
Activeconnections//当前Nginx正处理的活动连接数。
serveracceptshandledrequests//总共处理了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]}'ESTABLISHED3254
LAST_ACK236
FIN_WAIT_1648
FIN_WAIT_2581
CLOSING7
CLOSE_WAIT 4916解析:
CLOSED//无连接是活动的或正在进行
LISTEN//服务器在等待进入呼叫
SYN_RECV//一个连接请求已经到达,等待确认
SYN_SENT//应用已经开始,打开一个连接
ESTABLISHED//正常数据传输状态/当前并发连接数
FIN_WAIT1//应用说它已经完成
FIN_WAIT2//另一边已同意释放
ITMED_WAIT//等待所有分组死掉
CLOSING//两边同时尝试关闭
TIME_WAIT//另一边已初始化一个释放
LAST_ACK//等待所有分组死掉