【转】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:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | 5 | 6 | ||||
7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
28 | 29 | 30 |
我的存档
数据统计
- 访问量: 8137
- 日志数: 9
- 建立时间: 2012-11-06
- 更新时间: 2014-12-18