• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

awk 分析web日志(页面执行时间)(常见应用3)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

前一段时间,我写过一篇文章,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</p> <p>按照空格分隔的话,最后一个字段[0.037] 是页面执行时间,第7个字段 是页面访问地址。

二、执行代码


复制代码
代码如下:

awk 'BEGIN{
print "Enter log file:";
getline logs;
#logs="/var/log/nginx/access.log-20101008";
OFMT="%.3f"; </p> <p>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";
} </p> <p>}'

结果:



性能:



422780条日志,统计完成速度是:5秒左右。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap