上期讲到LoadRunner性能测试Analysis分析器的Analysis简介,这期我们来讲讲,Analysis分析器摘要报告。
摘要报告
摘要报告提供了场景执行的一般信息。该报告始终存在于树视图或者作为Analysis窗口中的选项卡。可以通过选择View→Export Summary to Excel将摘要报告导出到Excel中。主要包括概要、统计、事务统计、SLA分析和HTTP响应统计五大部分。
概要部分
Analysis概要总结部分的信息如图所示。
包括三部分内容:
1.Scenario Name(场景名)
显示场景名的内容,如果该场景保存过,那么将会显示场景的保存路径。
2.Results in Session(场景结果)
显示场景结果文件存储的路径和结果文件名。
3.Duration(运行时间)
显示本场景运行的总时间,如果脚本中包含有Think Time,那么会显示Think Time的时间。
统计部分
统计部分显示的信息如图所示。
包含6个链接内容:
1.Maximum Running Vusers(最大运行Vuser数)
显示的信息是场景运行时设置的Vuser用户数,但是发现这个数值往往比设置的Vuser数要小,这是因为LoadRunner有加载时间和延迟时间。这里在Controller中设置了20个虚拟用户,但在图中只显示为15个。
2.Total Throughput(bytes)(总吞吐量)
表示场景在运行时产生的全部网络流量,单位为字节。
3.Average Throughput(bytes/second)(平均吞吐量)
表示平均每秒的吞吐量,即吞吐率。
4.Total Hits(总点击数)
表示在场景运行期间,所有的HTTP请求总数。
5.Average Hits per Second(平均每秒点击数)
表示平均每秒的点击数。
6.View HTTP Responses Summary(查看HTTP响应摘要)查看HTTP响应摘要。
事务统计部分
事务统计信息如图所示。
事务统计部分第一行统计场景运行时所有事务通过、失败和停止的数量。接下来是一个表格,在该表格中显示了所有事务执行时的一些较详细的信息,表格中每列的意思如下:
1.Transaction Name(事务名)
该列表示事务名。
2.Minimum
事务运行的最短时间。
3.Average
事务运行的平均时间。
4.Maximum
事务运行的最长时间。
5.Std.Deviation
标准方差,Std是单词standard的缩写,方差描述一组数据偏离其平均值的情况。方差公式如下:
从数学角度来看,方差值越大,说明这组数据就越离散,波动性也就越强。方差越小,说明这组数据就越聚合,波动性也就越小。
6.90 Percent
在Controller运行场景时,并不会显示这个值,因为它是对整个一系列数据统计的结果。表示一个事务在执行过程中的90%所花费的时间,比如,一个事务执行了100次,对这100次事务响应时间进行升序排序,第90%即第90次事务运行时间。
7.Pass
通过的事务个数。
8.Fail
失败的事务个数。
9.Stop
停止的事务个数。在场景执行时,若用户手工停止场景的执行,事务没有自己的状态,那么就是停止状态。
注意:事务的通过率一定要大于95%,也即事务的失败率应该小于5%,因为如果事务失败率过高,就说明客户在使用系统时很容易出现错误,这样无论事务响应时间多么短也是不符合要求的,因为客户最基本的需求都没有被满足,功能都不能正确的处理,那么更无法谈性能了。
SLA
SLA(Service Level Agreement服务水平协议),SLA可在性能测试过程中,定义性能测试的目标和度量性能,在性能测试过程中LoadRunner会收集和保存性能的相关数据,在分析运行结果时,分析器会将收集的数据与SLA中定义的度量数据进行比较,并将分析的结果显示在分析器中,SLA的结果状态有以下三种:
pass:表示SLA获得该项测试数据,并且该数据达到目标要求;
fail:表示SLA获得该项测试数据,但是测试结果未达到目标要求;
no data:表示SLA未获得该项测试数据,所以无法确定是通过还是失败;
SLA配置步骤如下:
第一步:开始配置SLA
在摘要视图中单击链接【SLA configuration wizard】,弹出Service Level Agreement对话框,如图所示。
第二步:单击【New】按钮,定义SLA目标
单击【New】按钮后弹出Service Level Agreement-Goal Definition对话框,如图所示,该对话框详细描述了SLA的定义及作用。
第三步:设置待度量的目标
单击下一步,选择待度量的目标选项,如图所示。本例以事务响应时间为例,关于事务响应时间的目标有两种方式,一种是按百分比来度量(即设置百分之多少的事务响应时间不能超过目标时间);二是按平均事务响应时间来度量。
本例分别依次介绍按百分比和平均事务响应时间来度量事务响应时间。
第四步:选择事务
单击下一步会弹出选择事务的对话框,如图所示。
注意:在脚本中一定要插入事务,否则在该步选择事务时,对话框中不是出现事务,即无法选择待度量的事务。
第五步:设置百分比阀值
如果是以百分比模式来度量事务响应时间时,单击下一步会弹出设置百分比阀值的对话框,如图所示。
该步骤需要设置好百分比和事务响应时间阀值,如图所示,设置的百分比为90%,事务响应时间为3秒,意思为只要90%的事务响应时间不超过3秒,那么SLA的报告结果即为PASS,否则结果为FAIL。
第六步:设置负载标准
如果选择按平均事务响应时间来度量,则会弹出如图所示的设置负载标准的对话框。
选择负载标准,即通过什么指标来衡量事务响应的变化情况,本例以运行的虚拟用户数为例,需要设置在不同运行虚拟用户数下事务的响应时间。
第七步:设置阀值
选择好负载标准后,需要设置在不同的负载标准情况下,事务响应时间情况,此例中即需要设置在不同运行虚拟用户下,事务的响应时间情况,如图所示。
本例中的设置为当虚拟用户数少于10个时,事务响应时间应该不超过1秒钟,当虚拟用户数大于10个时,事务响应时间不超过1.5秒。
到这一步,关于SLA的设置就已经全部完成。纵观SLA设置的整个过程,不能看出SLA从本质上来说它是一种目标,是一种度量测试结果是否达到目标的一种手段。从这个角度来说,SLA与目标场景的设置很相似,目标场景的运行与SLA的原理几乎一致,以事务响应时间为例,在目标场景中也是先设置事务响应时间阀值,之后不断的增加用户,判断事务响应时间是否在目标值范围内,如果在目标值范围内,那么就说明达到目标,否则目标场景失败,那么相对于SLA而言,这里的目标失败就是SLA报告中的结果失败。
完成SLA设置后,在分析器中会显示出每个度量事务在不同时间域中的结果表现,如图所示。
在此可以选择不同事务、不同时间域进行详细的分析,以营销活动进入界面事务为例,选择分析的时间域为09:05至09:45进行详细的分析。单击【Analyze Transaction】按钮分析器会显示出营销活动_进入界面事务的详细分析信息,详细分析信息主要包括:事务摘要信息、事务相关联信息、错误信息和快照视图。
事务摘要信息如图所示。
Transaction Name:表示分析的事务名称。
Transaction Duration:事务迭代的时间。
Filter:分析事务时所设置的筛选条件。
事务相关联信息如图所示,主要包括显示分析事务时可能需要关联的相关信息:脚本运行时的一些错误信息、系统资源消耗情况、Web资源消耗情况、数据库资源消耗情况。
错误信息主要是显示整个场景运行过程中出现的错误信息,如图所示,这与在场景运行过程中产生的错误输出信息类似。
错误信息中详细的记录了错误的类型、错误代码、事务名称、脚本、第多少行代码错误、运行过程中哪个虚拟用户出错等一些相关的信息。
快照视图主要是描述分析的时间域中事务响应时间的情况,如图所示。
快照视图中横坐标表示场景执行的时间,纵坐标表示事务响应时间,在视图中有三条曲线,其中红色曲线表示为场景运行时的虚拟用户数,绿色线为场景运行时事务的响应时间,黑色线表示SLA定义的阀值,即SLA期望值。如果绿色线超过黑色线则说明该点的SLA失败,那么SLA的状态将会置为失败,反之则成功,SLA的状态将置为通过。
HTTP响应统计
HTTP响应摘要如图所示。
此视图只有Web Vuser才有,它反映了Web Server的处理情况。
表格有三列,其各列含义如下:
1.HTTP Responses
这里表示HTTP响应的状态码。
2.Total
该HTTP响应状态码总的点击数。
3.Per second
该HTTP响应状态码每秒的点击数。
HTTP(Hypertext Transport Protocol)超文本传送协议,超文本传送协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到Web浏览器。HTML是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。
HTTP协议是无状态协议,依赖瞬间或者近乎瞬间的请求处理。请求信息被立即发送,理想的情况是没有延迟地进行处理,不过,延迟还是客观存在。HTTP 协议有一种内置的超时机制,一个超时就是客户端等待请求消息返回信息的最长时间。
基于HTTP协议的客户端/服务器请求响应机制的信息交换过程如图所示:
1.建立连接:客户端与服务器建立TCP连接;
2.发送请求:打开一个连接后,客户端把请求信息发送到服务器的相应端口上,完成请求动作提交;
3.发送响应:服务器在处理完客户端请求之后,要向客户端发送响应消息;
4.关闭连接:客户端和服务器端都可以关闭套接字来结束TCP/IP对话;
在接收和解释请求消息后,服务器返回一个HTTP响应消息。HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文。
状态行格式如下:HTTP-Version Status-Code Reason-Phrase CRLF
其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1.指示信息--表示请求已接收,继续处理;
2.成功--表示请求已被成功接收、理解、接受;
3.重定向--要完成请求必须进行更进一步的操作;
4.客户端错误--请求有语法错误或请求无法实现;
5.服务器端错误--服务器未能实现合法的请求;
详细HTTP响应状态码的含义,见表。