三叶草 发表于 2021-10-3 16:26:07

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

今天主要讲的,是通过awk分析日志,快捷得到执行时间。在性能以及效率方面比前一篇提到的有很大提高
前一段时间,我写过一篇文章,shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询),其中提到了分析耗时页面重要性。今天主要讲的,是通过awk分析日志,快捷得到执行时间。在性能以及效率方面比前一篇提到的有很大提高!
一、web日志文件格式
代码如下:



222.83.181.42 - - 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>按照空格分隔的话,最后一个字段 是页面执行时间,第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]+=1;

aListTime]+=$NF;

ilen++;

}

close(logs);

print "\r\ntotal:",ilen,"\r\n======================================\r\n";

for(k in aListNum)

{

print k,aListNum,aListTime/aListNum | "sort -r -n -k3";

} </p> <p>}' 结果:



性能:



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

http://www.zzvips.com/article/33097.html
页: [1]
查看完整版本: awk 分析web日志(页面执行时间)(常见应用3)