【转】loadrunner相关学习总结

上一篇 / 下一篇  2014-11-02 17:24:36 / 个人分类:LoadRunner

衡量一个软件系统性能的常见指标有:
1.响应时间(Response time )
服务器响应时间,网络响应时间,客户端响应时间
客户感受的响应时间其实是等于 服务器响应时间+网络响应时间+客户端响应时间
2.吞吐量(Throughput)
吞是指请求,吐是指响应,具体指软件系统在每单位内能处理多少个事务/请求/单位

数据等
3.资源使用率(Resource utilitzation)
CPU占用率,内存使用率,磁盘I/O,网络I/O
4.点击数(Hits per second)
指客户端向服务器发起了多少次请求计算的,一次点击可能引发多个请求
5.并发用户数(Concurrent users)

软件性能是软件运行空间和时间综合考虑的解决方案,满足用户的性能需求,有如下方

案:
1.消除软件对空间和时间不必要的浪费
如内存泄漏,程序在运行过程中无法释放不再需要的内存空间,从而造成内存资源浪费

,严重的会造成无可用内存,系统崩溃。

解决:在程序堆上分配内存后,要在使用完后及时释放,同时避免野指针的产生。
原理:内存是软件运行的重要的空间资源,内存泄漏实际上浪费了软件的空间资源,内

存泄漏对软件的性能影响十分重要。
对于程序在时间上的浪费,通常采用优化算法和数据结构的解决策略。

2.以空间换时间
空间换时间是软件人员解决性能问题最常见的方法。是在系统功能正常的前提下增大软

件空间开销的方法来缩减运行的时间。一般的方法有算法调整、并行计算方法、体系结

构方等。通常解决方案有Cache缓存,数据库的index 等。

解决:改写网站首页以及部分频繁访问的程序,增加Cache机制,减少数据库访问。
原理:将常用数据放在服务器的内存中,虽然增加了内存的开销,但带来了时间上的优

化,对用户而言,提高了处理速度。

3.以时间换空间
对于嵌入式操作系统

交换两个变量的值
Void swapone (int *a, int *b)
{
Int temp;
temp = *a;
*a = *b;
*b = temp;
}

Void swapTwo (int *a, int *b)
{
*a = *a + *b ;
*b =*a - *b;
*a = *a  - *b;
}

前段程序为temp变量在堆栈中分配了空间,速度会快过后者
而后段程序多运算复杂度,增加运算时间,但减少了空间占用
减少了空间占用即节省内存


如何考虑性能问题:
一 软件系统设计的架构及技术平台
若用户对时间非常苛刻,密集型计划、在线的大数据量统计和分析等,这些场景通常在

J2EE不能够很好的解决,使用C++或者其他平台找寻会更合理些。

二 中间件的设置和优化
是应用程序调用的第三方软件,包括操作系统、数据库、Web服务器、消息服务器等。

不能改变中间件的程序,通过调优手段来提高它所支持的软件系统的性能。

三 硬件的配置
包括服务器硬件和网络环境,服务硬件包括内存,CPU等,网络环境有交换机,路由器

等。

LoadRunner 模拟
事实:VU是基于网络协议的
推论一:VU不关心用户在界面上发生的事情
推论二:VU中的操作关联与界面上的操作关联是不一致的

解释:根据推论一,知道VU只捕捉网络上的事件,对于只保持在客户端本地,并未有和

Server同步迹象的活动操作就无法创建相应的脚本。因此,LR脚本捕捉和回放的脚本只

是网络事件,并不会对客户端本地产生影响,相应的本地操作自然不会被创建。
根据推论二,如果我们的目标是测试服务器的性能,那么完全可以忽略这个问题,继续

录制。

基于GUI和基于协议的测试工具在实质上是看待同一事物的不同角度。QTP记录是“操作

本身的动件”这个事件,而后者是“客户端向 Web Server 发起了一个操作引起的请求

”。LR与QTP各自从GUI和网络协议的角度来看用户点击的动作。而实际上它们所记录的

只是用户操作整个过程的一部分。

 

HTTP Vuser 中的URL mode 和 HTML mode
在录制脚本之前,我们需要设置录制选项
在默认情况下,选择“HTML-based script”,说明脚本中采用HTML页面的形式来表示

,这种方式的Script脚本容易维护,容易理解,推荐以这种方式录制。
“URL-based script”说明脚本中的表示采用基于URL的方式,所有的HTTP的请求都会

被录制下来,单独生成函数,所以URL模式生成的脚本会显示有些杂乱。

选择HTTP还是URL录制,有以下参考原则:
1.基于浏览器的应用程序推荐使用HTML-based script
2.不是基于浏览器的应用程序推荐使用URL-based script
3.如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比

如DataGrid的分页按钮等,也要使用 URL-based script. 方式录制。
4.基于浏览的应用程序中使用了HTTPS安全协议,使用 URL-based script. 方式录制

回放脚本
VU提供运行时查看浏览器活动的功能。设置方法如下:
Tool-General Options -Display 选中 Show browser during replay 选项。
需求注意的是,运行时开启的Run-Time Viewer 是 LR 自带的 HTML 解释器,并不是完

全的IE,因为有些Java Script. 和 Applet 可能会不能正常显示。


事务(Transation)定义
事务是计算机程序设计中一个很重要的概念。一个事务应该具有原子性、一致性、隔离

性和持久性。在LR中,定义事务主要是为了度量服务器的性能。每个事务度量服务器响

应指定的Vuser请求所用的时间,这些请求可以是简单任务(例如等单个查询的响应,

也可以是复杂任务,如提交多个查询和生成报告)。
要度量事务,需要插入Vuser函数以标记任务的开始和结束,必须在一个Action中,跨

越多个是不允许的。在脚本中,可以标记的事务不受数量限制,每个事务名称必须唯一

,包括多Action的脚本中。
在场景执行期间,Controller将试题执行每个事务所用的时间。场景运行后,可使用LR

的图和报告来分析各个事务的服务器性能。
若手工插入Transaction函数看作是“显式事务”的话,那么LR 还提供了一种“隐式事

务”的机制,在VU的Run-time Settings中称为“自动事务”。
Miscellaneous 选项卡的Automatic Transactions 中设置:
Define each action as a transaction 系统默认是启动状态,代表了设置LR直接按事

务处理Vuser 中的每个Action(具体指vuser_int,Action,vuser_end三大函数)及用户

自定义的transaction 来显示
Define each step as a transaction 代表了设置LR按step(具体指LR执行的每个函数

,包括vuser_int,Action,vuser_end三大函数,自定义的transaction)来显示
若以上的选项,都没有被选中的情况下,代表根据用户自定义的transaction 显示事务

的响应时间,与Action 和step无关

忽略思考时间设置

VU的Run-time Settings中启动lgnore think time可以直接忽略Think Time ,而不用

修改脚本。

检查点(Check point)
对于Web Vuser 类型,有两种设置检查点方法:
ContentCheck定义:
VU的Run-time Settings-ContentCheck ,设置是为了让Vugen检测何种页面为错误页

面。
检查函数
在Web Vuser 里,通过检查函数来完成检查点功能。提供了Image Check和Text Check

两种方式。其原理就是在上一个请求页面的函数完成后,运行检查函数,在结果页面中

搜索既定的图片/关键文字。
web_find函数实现 Text Check 功能
web_image_check函数实现Image Check 功能
web_reg_find和web_find函数两者是有一些差别的:
1.web_reg_find函数,reg意为注册(register)先注册,后查找,使用时,要放在请

求语句的前面。先注册的优势是脚本能够一边接收Server的数据缓冲,一边进行查询,

提高了查找的效率。而web_find是查找前面的请求结果。
2.web_reg_find参数与web_find并不完全一样,其中有个参数叫做SaveCount,它能够

记录查询匹配的次数。而web_find的机制是一旦查询匹配成功,就立即返回,并不继续

查找和记录匹配次数。
3.VU的Run-time Settings设置中的“enable image and text check”对web_find有效

,而对web_reg_find无效。

脚本错误处理机制
当Vuser遇到错误时,可以有两种处理策略:一是停止执行脚本,这适用于严重的问题

,二是忽略这个错误,继续执行下去。
在默认情况下,当检测到错误时,Vuser将停止执行脚本,在Run-time Settings—

Miscellaneous-Error Handing中,可以看到。
若不想VU出错后结束,而是继续执行。在运行时设置,可以勾选Continue on error(出

现错误时仍继续)选项。这个设置适用于整个Vuser脚本,它是一个全局开关。
使用lr_continue_on_error函数,可以控制Vuser脚本特定段的错误处理。要标记该段

,就用lr_continue_on_error(1) 和 lr_continue_on_error(0)语句将其括起来。
使用 lr_continue_on_error函数的脚本将覆盖“Continue on error”的“Run-time

Settings”运行时设置。

脚本调试技巧
动态运行(Animated run)与非动态运行(Non-Animated run)
Animated run运行模式下,VU会显亮当前正在执行的脚本语句。用户可以通过VU设置语

句执行的延迟时间,以便观察每行代码执行的效果,相比之下,在Non-Animated run运

行模式下,VU在执行脚本时不会显亮语句,而一气执行下去。
Animated 的设置在“Tools”菜单下的“General Options”中,选择“Replay”选项

卡,设置时间,生效范围。到“View”中选中“Animated run”方式,脚本就以

Animated run
模式运行了。
当执行脚本期间在输出窗口中显示错误消息时,我们可以双击该错误消息,Vugen将使

光标跳到导致问题的测试,如要得到更详细的出错信息,也可以将光标置于错误代码上

并按F1键,查看该错误代码的联机帮助解决。

日志设置

VU的Run-time Settings的Log选项来设置日志的级别
1.仅在出错时发送消息,Send messages only when an error occurs:指示Vugen 仅当

出错时记录log
2.标准日志,Standard log,创建在脚本执行期间所发送的函数和消息的标准日志,供

调试时使用。
3.扩展日志,Extended log,创建扩展日志,包括警告和其他消息。大型负责测试方案

禁用该选项。
可以使用“扩展日志”选项指定应向扩展日志中添加哪些其他信息:
参数替换,Parameter substitution,选择该选项可记录指定给脚本的所有参数及其相

应的值。
服务器返回的数据,Data returned by server,选择该选项可记录服务器返回的所有

数据。
高级跟踪,Advanced trace,选择该选项可以记录Vuser 在会话期间发送的所有函数和

消息。调试Vuser脚本时,该选项非常有用。
可以选择性的开启扩展日志功能,可以通过lr_set_debug_message函数一开一关来关注

我们感兴趣的脚本区间。

在Transaction中加入消息输出语句,可能会增加Transaction的执行时间,影响测试的

精确程度。
设置VU编辑器的默认字体:
Tool-General Options-Environment选项卡,Editor区域,可以修改VU的字体。

编写脚本的最佳实践过程:
1.Generate:录制或开发脚本。
2.SUSI(Single User Single Iteration,单用户单循环):运行录制生成的脚本,解决

可能存在的关联问题。
3.SUMI(Single User Multi Iterations,单用户多循环):参数化脚本,在Run-time

Settings中设置Iterations,再次运行,验证参数化问题。
4.MUSI(Multi User Single Iterations,多用户单循环):Controller里多用户运行脚

本,验证脚本中可能的多线程同步问题。
5.MUMI(Multi User Multi Iteration,多用户多循环):即性能测试开始。


设计性能测试场景
Controller有两个视图:设计(Design)视图和运行(Run)视图。
在设计视图中,场景有两种类型:手工场景(Manual Scenario)和面向目标场景

(Goal-Oriented Scenario)

手工场景:即设置虚拟用户的数目、脚本以及它们运行的方式,运行,得出服务器的响

应时间等指标。还有一个百分比模式,在该模式下,只需要设定总用户数,将总用户数

以百分比的方式分派去执行不同的脚本。
1.创建虚拟用户组
2.配置虚拟用户
3.详细配置虚拟用户
4.设置集合点,若已经在VU脚本中设置了集合点,Controller默认的集合点策略是:在

所有的Running状态的Vuser达到集合点后才释放。若改变集合点策略,按如下执行:
在Scenario 菜单中选中Rendezvous,进入设置同步点的详细设置对话框,选中相应的集

合点后,点击 Policy ,进入策略设置窗口,第1个选项代表所有的用户达到集合点之

后,再释放等待的用户,继续场景执行。第2个选项代表所有正在运行的用户到达集合

点之后,再释放等待的用户,继续场景执行。第3个选项代表当指定数目的用户到达集

合点之后,再释放等待的用户,继续场景执行。Timeout设定等待时间,若第一个用户

到达集合点后,在等待设定时间内,若上面选项设定的释放条件满足,就继续执行场景

,到达等待时间后,就不再等待,开始释放等待的用户,继续执行场景。
5.配置虚拟用户运行时设置,如VU中的“Run-time Settings”部分。
6.配置Load Generator,在Scenario 菜单中点击 Load Generators,查看 Load

Generators现有的负载生成器,添加 Load Generator 后,执行 Connect 操作,使

Status 为 Ready,表示该机器连接正常,若为Failed,表示该机器不能连接。点击

Save load Generator List as Default 菜单保存这个列表信息。
7.设置网络带宽配置,在“Run-time Settings”中的Network(网络)下的Speed

Simulation 速度模拟,可设置测试环境的调制解调器仿真,Use maximum bandwidth,

使用最大带宽:在默认情况下会禁用带宽仿真,并且Vuser按网络上的最大可用带宽运

行。Use bandwidth,使用带宽: 指明Vuser要模拟的特定带宽级别。可以选择从14.4~

512Kbps范围内的速度,以便模拟调制解调器,ISDN或DSL。
Use custom bandwidth(bps),使用自定义带宽:指明Vuser进行模拟的带宽限制。以bps

为单位指定带宽,其中1Kbps=1024bps。
需要注意的是:这里的带宽指的是每个虚拟用户占用的带宽,而不是多个虚拟用户共同

占用的带宽。
8.设置方案Schedule
Schedule by:方案基于,Scenario 场景(多脚本运行时只需设置共用),Group 组(

按多脚本的运行模式各自设置)
Run Mode:运行模式,Real-life Schedule所有虚拟用户一直重复运行脚本,直到指定

时间达到,Run until complete 所有虚拟用户运行一遍脚本,就停止场景的执行
Initialize:初始化用户,第一个选项表示所有虚拟用户一起初始化,第二个选项表示

设定渐进初始化,即按一定时间间隔增量初始化用户,第三个选项表示每个虚拟用户逐

个初始化
Start Vusers:开始用户,显示当前虚拟用户数量,第一个选项表示同时运行所有的用

户,第二个选项表示设定渐进加载,即按一定时间间隔增量加载用户
Duration 持续,一直重复运行脚本,直到指定时间达到
Stop Vusers 停止用户 ,当前所有用户,第一个选项表示同时停止所有的用户,第二

选项表示设定渐进减压,即按一定时间间隔停止用户
Start Group(Schedule by=Group存在),第一个选项表示同时开始所有的脚本,第二

选项表示在指定的时间开始,第三个选项表示在指定的脚本运行结束后开始

百分比模式创建手工场景
设定总虚拟用户数,然后以百分比的形式把虚拟用户分配到各个脚本中,这种场景设置

非常适合业务模型明确的性能测试。选择手工场景(Manual Scenario)时,选中Use

the Percentage Mode to distribute the Vusers among the scripts,即可。

面向目标场景(Goal-Oriented Scenario)即,先定义测试要达到的目标,然后LR基于这

些目标创建场景,运行过程中,会不断地把结果和目标相比较。
点击Edit Scenario Goal编辑该场景目标
Scenario Settings,场景设置:
Run Time,表示达到目标后,该场景会运行指定的时间
If target cannot be reached 若目标不能达到,可以选择第一选项停止场景,第二选

项继续运行场景。而Receive notification表示可以接受通知停止
Load Behavio,负载行为,
Automatic表示让Controller自动加载用户,第二选项代表场景运行指定时间后达到目

标,第三个选项按照一定的阶段达到目标

以上的说明是以选择的目标为“Goal Type”的选项值为基础的。选择不同的目标,内

容会有所不同,另外,面向目标场景每次运行只能设置一个目标,且集合点是不可用的


Goal Type 目标种类,
1.Virtual Users,即需要测试服务器的并发处理能力,即多少人可以同时运行Web应用


2.Hits per Second,每秒点击率,若想测试Web Server真正实力,推荐定义目标类型为

“Hits per Second,Pages per Minute ,Transactions per Second”这些类型都需要

指定一个虚拟用户最小值和最大值的范围。
Controller试图使用最少的虚拟用户来达到定义的目标。若使用最少的用户,不能达到

目标,Controller增加用户数,直到定义的最大值。若使用了最多的虚拟用户,定义的

目标还没有实现,那么需要增加最大用户,重新执行场景。
若Reach goal of 设定的目标是100点击数/秒,Controller通过调整虚拟用户数来达

到目标,其中最小的虚拟用户数为50,最大的虚拟用户为150.
3.Transactions per Second, 事务点击数/秒,要选定目标Transaction,即在脚本中

应该设置有Transactions,否则这里就显示为空白。
4.Transaction Response Time,表示在多少用户并发访问网站,事务的响应时间,判断

是否达到性能指标说明书中规定响应时间的最大值,需要指定测试的事务名称,虚拟用

户数量最小值和最大值,及预告定义好的事务响应时间。
在场景运行中,若使用了最多的虚拟用户,还不能达到定义的最大响应时间,说明Web

Server还有能力接纳定义的虚拟用户的更多数量,若使用了部分虚拟用户,就达到定义

的最大响应时间,或LR提示如果使用最多数据的虚拟用户时将要超过最大响应时间,那

么需要重新设计或者修补应用程序,同时可能需要升级Web Server软,硬件。
5.Pages per Minute 设定以加载页面速度为目标的场景,
理解加载机制
若定义类型为Pages per Minute、Hits/Transactions per Second,Controller首先

用最小用户数除以定义的目标,得到一个值,然后确定每个用户应达到Hits/

Transactions 或者Pages per Minute,然后Controller开始按照以下的策略加载用户


若选择的是自动加载虚拟用户,LR会首先加载50个用户。若定义的最大用户数小于

50,LR就会一次加载所有的虚拟用户。
若选择的是在场景运行一段时间后达到目标,LR就会尝试在定义的这段时间内达到目标

,根据时间限制和计算出的每个用户的Hits、Transactions 或者 Pages,LR确定第一

批加载多少用户。
若选择是按照一定的阶段达到目标(也就是先在N长时间内达到Y,Pages/Hits,然后

再达到下一个目标),LR计算每个用户应该达到的数字后,再确定第一批加载多少用户

每加载一批用户后,LR会判断是否达到这批用户的目标。若这批用户的目标没有达到,

LR重新计算每一个用户应该达到的目标数字后,重新调整下一批加载用户的数量。在默

认情况下,LR每2分钟加载一批用户。

若Controller加载了最多数量的用户还没有达到预定的目标,LR会重新计算每个用户的

目标,然后同时运行最大数量的用户,尝试达到预定的目标。

若出现以下情况,Pages per Minute,Hits/Transactions per Second类型的场景会置

于“Failed”状态:
Controller使用了指定的最大数量的用户,并且两次都没有达到目标
所有的用户运行都失败
没有足够的Load Generators机器,(现有的机器已经超载运行的情况下):
Controller增加了几批用户后,Pages per Minute或者Hits/Transactions per Second

没有增加。


运行场景
按两条线索,三个对象来看看Controller是怎么运行场景的。
两条线索是指场景的控制和场景的查看,三个对象是场景(Scenario)Vuser组和Vuser

场景的控制
Stop停止场景:有3种方式,具体要在场景运行之前在tools-Options-Run-Time

Settings-When stopping Vusers中设置好
Wait for the current iteration to end before stopping: 当前迭代结束后,再停

止运行场景,场景中的Vuser将会变为逐步退出状态,全部退出后,场景再停止
Wait for the current action to end before stopping:当前Action结束后,再停止

运行场景,场景中的Vuser将会变为逐步退出状态,全部退出后,场景再停止
Stop immediately:无须等待,立即停止场景 ,场景中所有的Vuser都变为正在退出状

态。
1.控制整个虚拟用户组
可以对方案(Schedule)中的某个Vuser组执行下列操作:通过在场景组(Scenario

Groups)窗口中右键单击虚拟用户组展现控制菜单
2.控制个别Vuser
从同步点中手动释放Vuser,在运行方案时,在Controller释放Vuser之前可以从集合中

手动释放它们。选择Scenario-Rendzvous,将打开集合点信息对话框,在列表中选择集

合,单击释放按钮,即可。

执行期间查看场景
查看用户组(Vuser Group)状态
虚拟用户组状态含义详解
Down 关闭,Vuser处于关闭状态
Pending 挂起,Vuser已经准备好,可以进行初始化,正在将脚本文件传输到负载生成

器(Load Generator)
Init 初始化,Vuser正在初始化,执行对应的vuser_init函数
Ready 就绪,Vuser已经执行完初始化操作,可以运行Action了
Run 正在运行,Vuser脚本正在运行
Rendezvous 集合点,Vuser到达了集合点,正在等待条件满足,然后释放
Passed 完成并通过,Vuser已经运行结束,并且是成功通过
Failed 完成但失败,Vuser已经运行结束,并且是失败
Error 错误,Vuser发生了错误,要了解错误的完整说明,就要查看单个Vuser的详细状

态日志
Gradula EXiting 逐步退出,Vuser正在运行退出前的最后一次迭代
Exiting 退出,Vuser已经完成操作,正在退出
Stopped 停止,Vuser被停止

其中Down,Passed,Stopped,Error是最终状态,其他的Init,Ready,Rendezvous,Exiting

等是中间状态,也就是说,执行之前或执行结束后,所有的Vuser应该处于最终状态,

如果虚拟用户长时间处于中间状态,那么就需要对其进行强制状态变更。

场景状态信息详解
Scenario Status 场景状态,说明目前场景是处于运行(Run)还是关闭(Down)状态
Running Vusers 正在运行的Vuser,说明现在有多少虚拟用户正在运行
Elapsed Time 已用时间,从场景开始到现在一共运行了多长时间
Hits/Second 每秒点击数,场景每秒对服务器发起的HTTP请求数,这是衡量一个场景负

载大小的指标
Passed Transactions 通过的事务数,场景运行到目前成功通过的事务数
Failed Transactions 失败的事务数,场景运行到目前失败的事务数
Errors 错误数,场景从运行到目前发生的错误数

监视场景
LR提供联机监视器:
1. Runtime Graphs:运行时监视器显示参与方案的Vuser的数目和状态,以及Vuser所

生成的错误数量和类型。此外还提供了用户定义的数据点图,其中显示Vuser脚本中的

用户定义点的实时值。
2. Transaction Graphs:事务监视器显示方案执行期间的事务速率和响应时间。
3. Web Resource Graphs:Web资源监视器用于度量方案运行期间Web服务器上的统计信

息。它提供关于方案运行期间的Web连接,吞吐量,HTTP响应,服务器重试和下载页的

数据。
4. System Resource Graphs:系统资源监视器用于测试方案运行期间使用的

Windows,UNIX,TUXEDO,SNMP和Antara FlameThrower资源。要激活系统资源监视器,必

须在运行方案之前设置监视器选项
5. Network Graphs:网络延迟监视器显示关于系统上的网络延迟的信息,要激活网络

延迟监视器,必须在运行方案之前设置要监视的网络路径。
6. Firewalls:防火墙监视器用于度量方案运行期间防火墙服务器上的统计信息。要激

活防火墙监视器,必须在运行方案之前设置要监视的资源列表。
7. Web Server Resource Graphs:Web服务器资源监视器用于度量方案运行期间

Apache,Microsoft IIS,iPlanet(SNMP)和iPlanet/Netscape Web服务器上的统计信息。

要激活Web服务资源监视器,必须在运行方案之前设置要监视的资源列表。
8. Web Application Server Graphs:Web应用程序服务器资源监视器用于度量方案运

行期间Web应用程度服务器上的统计信息,要激活Web应用程度服务器监视器,必须在运

行方案之前设置要监视的资源列表。
9. Database Server Resource Graphs:数据库服务器资源监视器用于度量与SQL

Server,Oracle,Sybase和DB2数据库有关的统计信息。要激活数据库服务器资源监视器

,必须在运行方案之前设置要监视的度量列表。
10. Streaming Media:流媒体监视器用于度量Window Media服务器,RealPlyer音频/

视频服务器及Realplayer客户端上的统计信息。要激活流媒体监视器,必须在运行方案

之前设置要监视的资源列表。
11. ERP/CRM Server Resource  Graphs:ERP/CRM服务器资源,监视器用于度量方案运

行期间SAP R/3 系统服务器,SAP Portal,Siebel Web服务器和Siebel Server Manager

服务器的统计信息。要激活ERP/CRM服务器资源监视器,必须在运行方案之前设置要监

视的资源列表。
12. Java性能监视器用于度量Java 2 Platform,Enterprise Edition(J2EE)对象及使用

J2EE和EJB服务器计算机的Enterprise Jave Bean(EJB)对象的统计信息。要激活Java性

能监视器,必须在运行方案之前设置要监视的资源列表。
13. Application Component Graphs:
14. Application Deployment Solutions:应用程序部署解决方案监视器用于度量方案

运行期间Citrix MetaFrame. XP和1.8服务器的统计信息。要激活应用程序部署解决方案

监视器,必须在运行方案之前设置监视器选项。
15. Middleware Performance  Graphs:中间件性能监视器用于度量方案运行期间

TUXEDO和IBM WebSphere MQ服务器上的统计信息。要激活中间件性能监视器,必须在运

行方案之前设置要监视的资源列表。
16. Infrastructure Resource  Graphs:

Analysis报告概要(Summary)
概要部分:
Scenario Name 场景名字,场景的名字,如果是保存过的场景,那么将会显示场景的保

存路径。
Results in Session 结果文件,结果文件的名字,显示结果文件的路径。
Duration 运行时间,本场景总共运行时间,若脚本中有Think Time,这里的运行时间

将包含Think Time.
统计部分:
Maximum Running Vusers 最大同时运行用户数,因为LR中有加载时间和延迟时间,这

个数字通常比在场景中设置的并发用户数小。若在Controller中设置10个虚拟用户,里

显示为8,但若脚本中设置了集合点,就是一致的了。
Total Throughput(bytes)网络流量,即场景运行过程中产生的全部网络流量,单位是

字节
Auerage Throughput(bytes/second) 网络流率,即平均网络流率。单位为字节/秒。
Total Hits 总请求数, 场景运行过程中,发生的HTTP请求总数。
Average Hits per Second 平均每秒请求数,即为总请求数除以运行时间的值。
View HTTP Responses Sunmmary 查看HTTP响应的Summary,这是一个链接,指向一个页

面标记。

事务统计:
Transactions 事务,所有的Transaction的响应时间都列在这里。
Minimum 执行此Transaction 的最小时间,也就是最快的。
Average 平均时间,是所有Transaction 消耗时间的算术平均值。
Maximum 执行此Transaction 的最大时间,也就是最慢的。
Std.Deviation Std是standard 的缩写,Std.Deviation即标准方差,方差是描述一组

数据偏差其平均值的情况。从数字意义上看,方差值越大,这组数据就越离散,波动性

也越强,方差越小,这组数据就越聚合,波动性也就越小。
显然,方差这个数字能说明一些问题,若我们试图比较同一场景的先后两次运行结果,

在Average相差比较大的情况下,我们可以通过Std.Deviation值来判断这个变化是由一

些随机因素引起的,还是确实调优或修改代码生效了。如果方差小,说明这些数据凝聚

度高,随机因素干扰小,方差大,则相反。因此可以说在事务统计信息中,相关方差值

越小,这组数据越好,越有说服力。
90Percent 在Controller运行场景时,并不会显示这个值,因为它是对一系列数据进行

计算的结果。是90% Transaction消耗的时间,若执行了500次Transaction,90%就是

450个Transaction的平均时间,通常这个指标比单纯的平均值更说明系统问题。
Pass 通过,通过的Transaction个数,通过与否的标准由脚本的逻辑控制。
Fail 失败的Transaction个数。
Stop 若在执行场景时,用户手工停止了场景的执行,Transaction没有自己的状态,那

么就Stop.
HTTP响应统计:
HTTP_Responses 此视图只有Web Vuser 才有,反映了Web Server的处理情况。HTTP返

回码为200,是正常状态。统计图的Total Hits总请求数与此图的返回码的Response的数

值一样,说明HTTP的请求都成功了,Web Server 是没有问题的。


TAG:

唯一的色彩的个人空间 引用 删除 唯一的色彩   /   2014-11-05 13:35:38
5
 

评分:0

我来说两句

Open Toolbar