通过查看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"; }
解析:
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]}'
解析:
closed //无连接是活动的或正在进行listen //服务器在等待进入呼叫syn_recv //一个连接请求已经到达,等待确认syn_sent //应用已经开始,打开一个连接established //正常数据传输状态/当前并发连接数fin_wait1 //应用说它已经完成fin_wait2 //另一边已同意释放itmed_wait //等待所有分组死掉closing //两边同时尝试关闭time_wait //另一边已初始化一个释放last_ack //等待所有分组死掉
相关文章推荐:
1.php中常见的nginx日志以及配置的方法
2.怎么分析nginx的错误日志
相关视频推荐:
1.燕十八nginx精品视频教程nginx访问量统计
1.根据访问ip统计uv
awk '{print $1}' access.log|sort | uniq -c |wc -l
2.统计访问url统计pv
awk '{print $7}' access.log|wc -l
3.查询访问最频繁的url
awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more
4.查询访问最频繁的ip
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more
5.根据时间段统计查看日志
cat access.log| sed -n '/14\/mar\/2015:21/,/14\/mar\/2015:22/p'|more
查找访问频率最高的 url 和次数:
cat access.log | awk -f ‘^a’ ‘{print $10}’ | sort | uniq -c
查找当前日志文件 500 错误的访问:
cat access.log | awk -f ‘^a’ ‘{if($5 == 500) print $0}’
查找当前日志文件 500 错误的数量:
cat access.log | awk -f ‘^a’ ‘{if($5 == 500) print $0}’ | wc -l
查找某一分钟内 500 错误访问的数量:
cat access.log | awk -f ‘^a’ ‘{if($5 == 500) print $0}’ | grep ’09:00’ | wc-l
查找耗时超过 1s 的慢请求:
tail -f access.log | awk -f ‘^a’ ‘{if($6》1) print $0}’
假如只想查看某些位:
tail -f access.log | awk -f ‘^a’ ‘{if($6》1) print $3″|”$4}’
查找 502 错误最多的 url:
cat access.log | awk -f ‘^a’ ‘{if($5==502) print $11}’ | sort | uniq -c
查找 200 空白页
cat access.log | awk -f ‘^a’ ‘{if($5==200 && $8 《 100) print $3″|”$4″|”$11″|”$6}’
查看实时日志数据流
tail -f access.log | cat -e
或者
tail -f access.log | tr ‘^a’ ‘|’
sed -n '/04\/dec\/2015:07:30:53/,/04\/dec\/2015:08:30:55/'p access.log | more 查看一段时间的日志
sed -n '/08\/dec\/2015:15:48:01/,/08\/dec\/2015:15:55:59/p' access.log > new.log
更多nginx相关技术文章,请访问nginx教程栏目进行学习!
以上就是怎么查看nginx日志的详细内容。
