日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...

發布時間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當服務器壓力比較大,跑起來很費力時候。我們經常做站點頁面優化,會去查找那些頁面訪問次數比較多,而且比較費時。 找到那些訪問次數高,并且比較耗時的地址,就行相關優化,會取得立竿見影的效果的。 下面是我在做優化時候,經常用到的一段shell 腳本。 這個也可以算是,統計web頁面的slowpage 慢訪問頁面,象mysql slowquery 。

以下是我的:nginx 配制

log_format? main? '$remote_addr - $remote_user [$time_local] $request '

'"$status" $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for" $request_time';

access_log? /var/log/nginx/access.log? main buffer=32k;

從上面配置,可以看到:ip在 第一列,頁面耗時是在最后一列,中間用空格分隔。 因此在awk 中,分別可以用:$1

$NF 讀取到當前值。 其中NF是常量,代表整個列數。

下面是分析代碼的shell文件,可以存為slow.sh

#!/bin/sh

export PATH=/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin;

export LANG=zh_CN.GB2312;

function usage()

{

echo "$0 filelog? options";

exit 1;

}

function slowlog()

{

#set -x;

field=$2;

files=$1;

end=2;

msg="";

[[ $2 == '1' ]] && field=1&&end=2&&msg="總訪問次數統計";

[[ $2 == '2' ]] && field=3&&end=4&&msg="平均訪問時間統計";

echo -e "\r\n\r\n";

echo -n "$msg";

seq -s '#' 30 | sed -e 's/[0-9]*//g';

awk '{split($7,bbb,"?");arr[bbb[1]]=arr[bbb[1]]+$NF; arr2[bbb[1]]=arr2[bbb[1]]+1; } END{for ( i in arr ) { print i":"arr2[i]":"arr[i]":"arr[i]/arr2[i]}}' $1 | sort? -t: +$field -$end -rn |grep "pages" |head -30 | sed 's/:/\t/g'

}

[[ $# < 2 ]] && usage;

slowlog $1 $2;

只需要執行:slow.sh 日志文件? 1或者2

1:三十條訪問最平凡的頁面

2:三十條訪問最耗時的頁面

執行結果如下:

chmod +x ./slow.sh

chmod +x slow.sh

./slow.sh /var/log/nginx/

./slow.sh /var/log/nginx/access.log 2

平均訪問時間統計#############################

/pages/########1.php??????? 4?????? 120.456 30.114

/pages/########2.php 1?????? 16.161? 16.161

/pages/########3.php 212???? 1122.49 5.29475

/pages/########4.php???? 6?????? 28.645? 4.77417

..................

希望以上腳本對大家會有一定幫助。

總結

以上是生活随笔為你收集整理的shell最大出现和连续出现次数_shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。