当前位置: > Linux命令 >

awk分析web日志页面执行时间

时间:2015-05-02 01:52来源:jbxue.com 作者:jbxue.com
awk命令获取web日志页面执行时间的方法,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个字段 是页面访问地址。
 
二、awk日志文件分析代码 
 

 
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";
}
}'

日志分析结果:
awk日志分析结果

性能:
awk日志分析结果2

422780条日志,消耗时间5秒左右。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容