千家信息网

如何理解shell脚本nginx日志访问次数最多及最耗时的页面

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容介绍了"如何理解shell脚本nginx日志访问次数最多及最耗时的页面"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家
千家信息网最后更新 2025年11月07日如何理解shell脚本nginx日志访问次数最多及最耗时的页面

本篇内容介绍了"如何理解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脚本nginx日志访问次数最多及最耗时的页面"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

页面 次数 统计 日志 脚本 代码 内容 文件 时候 时间 更多 知识 实用 平凡 立竿见影 学有所成 接下来 代表 压力 困境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 福山区直播软件开发公司 软件开发方法是什么选择题 网络安全手抄报怎么画带字的 kafka服务器配置 组态王写数据库的时间 编程软件开发就业 网络安全技术只能拷贝吗 修改官方数据库信息 社保局网络安全管理 浙江高精度农业信息系统数据库 税务行业软件开发 数据库售货机信息管理系统 网吧网络安全培训证 十堰百度网络技术有限公司 数据库技术展示 档案网络安全管理专项防护行动 金融软件开发技术经验分享 闽盾杯网络安全大赛 杭州云象网络技术的财务报告 长春市鑫果网络技术有限公司 长江电力软件开发 表单下拉框写入数据库中 只画网络安全知识的手抄报 宝鸡市网络安全和信息化委员会 河北设备维修管理软件开发 移动应用软件开发是什么意思 sonoluspjsk服务器 朔州学网络技术 服务器外壳怎么接地 延庆区戴尔二路塔式服务器
0