awk 分析web日志(页面执行时间)(常见应用3)
来源:互联网 发布:梵高知乎 编辑:程序博客网 时间:2024/05/20 19:30
前一段时间,我写过一篇文章,shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询),其中提到了分析耗时页面重要性。今天主要讲的,是通过awk分析日志,快捷得到执行时间。在性能以及效率方面比前一篇提到的有很大提高!
一、web日志文件格式
222.83.181.42 - - [09/Oct/2010:04:04:03 +0800] GET /pages/international/tejia.php HTTP/1.1 "200" 15708 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Sicent; WoShiHoney.B; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "-" 0.037
按照空格分隔的话,最后一个字段[0.037] 是页面执行时间,第7个字段 是页面访问地址。
二、执行代码
结果:
性能:
422780条日志,统计完成速度是:5秒左右。
一、web日志文件格式
222.83.181.42 - - [09/Oct/2010:04:04:03 +0800] GET /pages/international/tejia.php HTTP/1.1 "200" 15708 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Sicent; WoShiHoney.B; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "-" 0.037
按照空格分隔的话,最后一个字段[0.037] 是页面执行时间,第7个字段 是页面访问地址。
二、执行代码
awk 'BEGIN{print "Enter log file:";getline logs;#logs="/var/log/nginx/access.log-20101008";OFMT="%.3f";while(getline < logs){ split($7,atmp,"?"); aListNum[atmp[1]]+=1; aListTime[atmp[1]]+=$NF; ilen++;}close(logs);print "\r\ntotal:",ilen,"\r\n======================================\r\n";for(k in aListNum){ print k,aListNum[k],aListTime[k]/aListNum[k] | "sort -r -n -k3";}}'
结果:
性能:
422780条日志,统计完成速度是:5秒左右。
0 0
- awk 分析web日志(页面执行时间)(常见应用3)
- awk 分析web日志(页面执行时间)(常见应用3)
- awk 分析web日志(页面执行时间)(常见应用3)
- AWK分析access日志中的应用
- 使用 awk 命令行快速分析 web 访问日志
- 学习笔记:利用awk分析大型WEB日志 //待完善
- awk分析nginx日志
- 日志分析awk
- AWK日志分析实战
- 常见WEB应用攻击影响分析
- [Web]显示客户端页面执行时间的代码
- Java TagSupport实现Web页面执行时间标签
- Web应用测试监控执行时间 -- JavaSimon
- 日志 - 执行时间
- 利用IIS日志检测和分析常见WEB攻击
- awk 查看ip连接数(常见应用一)
- awk 查看ip连接数(常见应用一)
- awk 查看ip连接数(常见应用一)
- Spring 注解@Component,@Service,@Controller,@Repository
- oracle导出数据命令
- AspNetPager控件应用
- andriod 运行调试的时候报错INSTALL_FAILED_INSUFFICIENT_STORAGE
- slice语言
- awk 分析web日志(页面执行时间)(常见应用3)
- Git详解之五 分布式Git
- 我的数据结构学习之路(二)------栈
- C++中引用详解
- 对于编程,我总结了自己的优点
- 上位机给单片机发送数据,单片机返回给上位机
- C++ 栈对象 堆对象 理解
- plsq块条件控制和case
- 不修改源代码,动态注入Java代码的方法