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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
本篇文章主要是跟大家讨论如何借助通过服务器日志获取性能需求,进一步开展性能测试

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

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

本篇博文以下的讲解主要针对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日志并进行多维度分析。
相关文章
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
216 3
|
10天前
|
存储 SQL 监控
|
10天前
|
运维 监控 安全
|
13天前
|
监控 关系型数据库 MySQL
分析慢查询日志
【10月更文挑战第29天】分析慢查询日志
34 3
|
13天前
|
监控 关系型数据库 数据库
怎样分析慢查询日志?
【10月更文挑战第29天】怎样分析慢查询日志?
32 2
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1626 14
|
1月前
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
35 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
43 2
|
2月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
08-06-06>pe_xscan 精简log分析代码 速度提升一倍
08-06-06>pe_xscan 精简log分析代码 速度提升一倍