瀏覽量:5次
前一段時間,我寫過一篇文章,shell腳本分析 nginx日志訪問次數(shù)最多及最耗時的頁面(慢查詢),其中提到了分析耗時頁面重要性。今天主要講的,是通過awk分析日志,快捷得到執(zhí)行時間。在性能以及效率方面比前一篇提到的有很大提高!
一、web日志文件格式
復(fù)制代碼 代碼如下:
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] 是頁面執(zhí)行時間,第7個字段 是頁面訪問地址。
二、執(zhí)行代碼
復(fù)制代碼 代碼如下:
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"; }
}'
結(jié)果:
性能:
422780條日志,統(tǒng)計完成速度是:5秒左右。
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點,本網(wǎng)不承擔此類稿件侵權(quán)行為的連帶責任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們在確認后,會立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776