计算每个请求的平均响应时间

目的

找出是哪些请求长期影响了系统性能

方法

web服务器的日志会记录每个请求的响应时间,分析访问日志,对相同请求的响应时间进行累加,响应时间的和 除以 这个请求的访问次数,就得到此请求的平均访问时间

例如日志中记录了 /a.php 3次请求,响应时间分别为 1、2、3

/a.php 的平均响应时间就是 (1+2+3)/3

实现

使用awk分析日志的每一行,累加响应时间和访问次数,最后求出平均值并输出

例如日志信息为:

其中红线标出的两列是我们关心的信息,"0"那列是响应时间,"/a.php"那列是请求的url

awk按空格进行分割,所以响应时间在第6列,url在第8列

代码

通过这个awk脚本,可以计算出每个请求的平均响应时间

数组变量url 存放每个请求对应的响应时间累加值

数组变量url_times 存放每个请求的被访问次数

最后在END块中对url数组进行遍历,打印出每个请求的url及其平均响应时间

执行脚本

awk -f avgtime_script access_log

输出内容示例

/a.php = 1

/b.php = 0

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2016-01-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据智能实战

ubuntu14.0环境下matplotlib中ImportError: No module named _tkinter问题解决

Matplotlib是一个Python下的图形框架,可以很方便地进行图形化显示。可以说是做图像处理和数据分析必装的库。 但是在实际应用过程中,经常发现有这样的错...

2647
来自专栏安恒网络空间安全讲武堂

CVE-2011-0104分析

关于office的漏洞。先把进程attach上去然后打开exploit的文件。查看程序崩溃在这里:

1253
来自专栏性能与架构

linux w命令查看系统负载

w命令和uptime命令相似,都可以查看系统的负载状况,但w的结果信息更丰富一些,还可以查看登录用户的状态 命令信息 $ w ? 第一行的信息和uptime的结...

42811
来自专栏技术碎碎念

OS存储器管理(一)

存储器的层次: 分为寄存器、主存(内存)和 辅存(外存)三个层次。 主存:高速缓冲存储器、主存储器、磁盘缓冲存储器,          主存又称为可执行存储...

3889
来自专栏编程

Nutch重要命令使用说明

之前几篇博文对nucth抓取周期的几个命令做了说明,本篇博文将对nutch抓取周期以外的几个重要的命令的使用进行详细的说明。 1. mergesegs 合并多个...

2025
来自专栏Golang语言社区

编写一个go gRPC的服务

前置条件: 获取 gRPC-go 源码 $ go get google.golang.org/grpc 简单例子的源码位置: $ cd $GOPATH/src/...

5317
来自专栏电光石火

ThinkPHP导出CSV、Excel

如题,我们在实际中EXCEL的导出比导入用的多,这里给大家分享一个导出CSV EXCEL导出,简单,方便。 首先我们在Thinkphp/Library...

2798
来自专栏瓜大三哥

Matlab基本语法8

程序调试和编程技巧 在编写matlab程序时,难免会出现错误,这时就需要对程序进行调试。matlab中,m文件调试主要有两种方法:直接调试法和工具调试法。 拼写...

2227
来自专栏vue学习

33、vuex初探(一)

看完以后应该是有点懵逼的,所以这就是这篇文章存在的意义了:就是让你不那么懵逼;总归理论与实践相结合才能真正弄明白一个东西,所以我们简单实践一下。

1536
来自专栏用户2442861的专栏

linux grep工作常用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

1134

扫码关注云+社区

领取腾讯云代金券