论“性能需求分析”系列专题(三)之 借助日志获取性能需求

简介:
本篇文章主要是跟大家讨论如何借助通过服务器日志获取性能需求,进一步开展性能测试

上一篇博文给大家介绍了几种常用的性能需求获取方法,多数方法主要依靠读者的沟通和分析能力以获取需求。相比之下,“通过服务器日志获取需求”的方法则比较具体和有效。一方面,它需要大家比较熟悉服务器日志。另一方面,由于有明确的真实数据做依托,较其他方法更加真实有效。因此,接下去,对“通过服务器日志获取需求”的方法进行重点讲解。

采用该方法的前提是:用户没有给出明确的性能需求;同时,系统的旧版本已经运行过一段时间;这段时间不能过短,期间所积累的数据应足以分析出客户业务使用情况才行。只有这样,才可借助该方法分析出客户的主要业务、点击量、用户访问数量等。

本篇博文以下的讲解主要针对Apache服务器的日志进行。大家可能从未接触过Apache服务器日志,因此,首先对此进行阐述。

Apache的日志功能主要是指其在运行中对服务器活动进行的记录。日志内容主要涵盖了服务器访问者身份、访问时间、具体访问情况及服务器运行错误信息等。显然,Apache的日志功能对于读者进一步了解服务器运行情况提供了有力帮助。

在Apache采用默认方式安装并运行后,将在安装目录的logs文件夹下生成如图所示的access.log和error.log两种日志文件。

142511763.jpg

图中左侧为access.log文件,记录所有访问者对服务器进行的详细操作;右侧为error.log文件,记录服务器运行期间,出现的错误与异常等。在此,研究服务器日志的主要目的是获取性能测试需求,即需要了解所有访问者对服务器的具体访问情况。因此,重点关注Apache的access.log文件。

注意:

Apache配置文件为httpd.conf,在配置文件中通过CustomLog命令可以设置日志文件存放路径,如“CustomLog /usr/local/apache/logs/access_log common”。


前面图中所示的access.log中各行内容均为什么含义呢?下面,结合其中的一条记录(如下图)来揭示谜底。

clip_image005

如上图,第一部分为127.0.0.1;第二、三部分用“-”进行标识;第四部分为[02/Jun/2009:22:12:30+0800];第五部分为”GET /HTTP/1.0”;第六部分为200;第七部分为40283。下面,依次对这七个部分进行介绍。

第一部分:远程主机的地址,标明访问者来源。第2个图中,来自于127.0.0.1的用户进行了一次网站访问,该项信息的格式用%h来表示。

第二部分:访问者的email地址或者其他唯一性标识。基于安全考虑,通常用“-”替代。该项信息的格式用%l来表示。

第三部分:访问者的用户名。基于安全考虑,通常也用“-”替代。该项信息的格式用%u来表示。

第四部分:访问请求发生的时间。该项信息的格式用%t来表示。

第五部分:访问请求的类型。此信息的典型格式为“方法-资源-协议”。方法包括GET、POST等;资源是指浏览者向服务器请求的文档或URL等;协议通常是HTTP+版本号。该项信息的格式用\"%r"\来表示。

第六部分:服务器返回的状态码,标明请求的结果。如“200”为请求成功,“404”为页面未找到,“500”为服务器内部错误等,对于各类状态码明确含义,有兴趣的读者请参阅相关资料深入学习。该项信息的格式用%s来表示。

第七部分:响应给客户端的总字节数。该项信息的格式用%b来表示。

值得一提的是,读者可在Apache的配置文件httpd.conf中,通过配置LogFormat的参数来自行定制日志文件的记录格式。如:LogFormat "%h %l %u %t \"%r\" %>s %b" common表示日志中记录上述七部分内容。

注意:

由于我们的目的是让大家了解日志内容,帮助大家更好的开展性能测试,所以内容介绍较为概括,有兴趣的读者可参考相关资料进一步学习。


终于清楚日志中内容的含义了!但是日志中有那么多的请求记录信息,如何进行统计分析以得出性能需求呢?难道一条条逐一统计?当然不是!这样做的效率未免太低了。下面讲解的WebLog Expert工具可以帮助我们方便地进行日志分析,这就是下篇博文跟大家仔细讨论问题了。
















本文转自hblxp32151CTO博客,原文链接:http://blog.51cto.com/starpoint/1318585,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
5天前
|
Linux 应用服务中间件 PHP
性能工具之linux常见日志统计分析命令
通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的。
60 1
|
5天前
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
5天前
|
监控 Android开发 C语言
深度解读Android崩溃日志案例分析2:tombstone日志
深度解读Android崩溃日志案例分析2:tombstone日志
101 0
|
5天前
|
Go 数据处理 Docker
elk stack部署自动化日志收集分析平台
elk stack部署自动化日志收集分析平台
88 0
|
5天前
|
缓存 固态存储 关系型数据库
MySQL性能优化指南:深入分析重做日志刷新到磁盘的机制
MySQL性能优化指南:深入分析重做日志刷新到磁盘的机制
|
5天前
|
存储 监控 NoSQL
【MongoDB 专栏】MongoDB 的日志管理与分析
【5月更文挑战第11天】MongoDB日志管理与分析至关重要,包括系统日志和操作日志,用于监控、故障排查和性能优化。合理配置日志详细程度、存储位置和保留策略,使用日志分析工具提升效率,发现性能瓶颈和安全性问题。日志分析有助于优化查询、调整配置,确保数据安全,并可与其他监控系统集成。面对日志量增长的挑战,需采用新技术如分布式存储和数据压缩来保障存储和传输。随着技术发展,不断进化日志管理与分析能力,以支持MongoDB的稳定高效运行。
【MongoDB 专栏】MongoDB 的日志管理与分析
|
5天前
|
存储 监控 关系型数据库
PHP编写的电脑监控软件:用户登录日志记录与分析
使用PHP编写简单但功能强大的电脑监控软件,记录用户登录日志并进行分析。代码示例展示了如何获取并存储用户IP地址和登录时间到数据库,然后进行登录数据的分析,如计算登录频率和常见登录时间。此外,还介绍了如何通过定时任务自动将监控数据提交到网站,以便实时监控用户活动,提升系统安全性和稳定性。
61 0
|
5天前
|
数据可视化
R语言两阶段最小⼆乘法2SLS回归、工具变量法分析股息收益、股权溢价和surfaces曲面图可视化
R语言两阶段最小⼆乘法2SLS回归、工具变量法分析股息收益、股权溢价和surfaces曲面图可视化
|
5天前
|
存储 Prometheus 并行计算
10倍性能提升-SLS Prometheus 时序存储技术演进
本文将介绍近期SLS Prometheus存储引擎的技术更新,在兼容 PromQL 的基础上实现 10 倍以上的性能提升。同时技术升级带来的成本红利也将回馈给使用SLS 时序引擎的上万内外部客户。
158411 7
|
5天前
|
机器学习/深度学习 前端开发 数据挖掘
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断(下)
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
365 11

热门文章

最新文章