发表于: 2018-01-24 20:05:05

1 702


今天完成的事情:


今天学着如何在nginx中输出响应时间。


首先需要在nginx.conf中建立如下配置:


log_format main ‘$remote_addr – $remote_user [$time_iso8601] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for” ‘
‘ “$upstream_addr” “$upstream_status” “$request_time” ‘;

最主要是在最后添加上一条:“$request_time”。


一开始没弄明白这样子加有什么用,而且最开始添加了之后,并没有在脚本程序中看到效果。

但是如果将没有引号改为A,双引号改为B 结构就会如下显示:


log_format main ‘A B ‘  ‘A B ‘  ‘B B ‘   ‘ B B B ‘;


和数据库的查询差不多。


那么这样的格式在具体的log中会如此显示:


12.124.127.44 – – [29/Jul/2014:20:54:20 +0800] “GET / HTTP/1.1″ 200 211 “-” “Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)” “-” “127.0.0.1:8081″ “200” “0.001”


以空格为分割,整个语句被打断成相应的段数。


而在Linux中,$段落序号  就是将相应序号的字符放入到函数中进行处理。

在我的整个输出语句中,相应时间的处在第23段,于是用$23.

写成语句就是:
cat access.log|awk 'BEGIN{sum=0}{if($23<0.01) sum++;} END {print sum}'


数据显示如下:


然后用脚本进行统计:


统计脚本如下:


计算Nginx的响应时间结束,又开始编写关于AOP输出数据库访问消耗时间,以及方法处理时间。

很意外的是,在切面类中输出时间,在网页中会无法访问。因为急着打印时间,也就放弃了前后置输出时间,


而选择了在方法中直接打印时间。控制台输出如下:


日志文件输出如下:


接下来就是对hosts文件的修改。以完成以以域名直接访问程序:

配置格式很简单:IP  网址。
但是这样直接访问还是有问题,网页会弹出:


如果在访问地址上添加端口号:

可能是哪里没有做好的原因吧,也可能是配置文件没配好,想不明白。


明天计划的事情:

明天好好捋一捋该如何解决步骤7.查看Resin日志,统计访问DB时间,Controller处理时间。
遇到的问题:
对任务三的理解还不是很清楚。
自己对代码以及流程的理解似乎也有些跟不上了。

收获:
对awk函数有了一个清楚的认识。也知道到底该如何去编写脚本了。
一边记录日常,一边完成任务,思路会清晰很多。这个得谢谢韦杰师兄。

进度:完成了一小步。



返回列表 返回列表
评论

    分享到