南昌大学软件学院
实验报告
实 验
实 验
实 验
指 导
学 生
学 生
学 生
提 交
名 称 LoadRunner的使用 地 点 日 期 教 师 班 级 姓 名 学 号 日 期 LoadRunner简介:
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。LoadRunner是目前应用最为广泛的性能测试工具之一。
一、实验目的
1. 熟练LoadRunner的工具组成和工具原理。
2. 熟练使用LoadRunner进行Web系统测试和压力负载测试。 3. 掌握LoadRunner测试流程。 二、实验设备
PC机:清华同方电脑 操作系统:windows 7
实用工具:WPS Office,工具,IE9 三、实验内容
(1)、熟悉LoadRunner的工具组成和工具原理 工具组成
虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本;
压力产生器:通过运行虚拟用户产生实际的负载;
用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;
压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量; 监视系统:监控主要的性能计数器;
压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。 工具原理
代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner就是通过代理方式截获客户端和服务器之间交互的数据流。 ①虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端。这样服务器端和客户端都以为在一个真实运行环境中,虚拟脚本生成器能通过这种方式截获数据流;虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理,最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句。
②压力生成器则是根据脚本内容,产生实际的负载,扮演产生负载的角色。
③用户代理是运行在负载机上的进程,该进程与产生负载压力的进程或是线程协作,接受调度系统的命令,调度产生负载压力的进程或线程。
④压力调度是根据用户的场景要求,设置各种不同脚本的虚拟用户数量,设置同步点等。
⑤监控系统则可以对数据库、应用服务器、服务器的主要性能计数器进行监控。
⑥压力结果分析工具是辅助测试结果分析。 (2)、LoadRunner测试过程
1.
计划测试
定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间等。
2. 创建Vuser脚本
将最终用户活动捕获(录制、编写)到脚本中, 并对脚本进行修改,调试等。
协议类型:取决于服务器端和客户端之间的通信协议;
脚本类型: init(初始部分),Action(事务部分),end(退出结束);脚本录制:捕获应用程序所执行的操作; 验证回放:检查是否准确模拟了录制的会话; 事务:表示要度量的最终用户业务流程; 参数化:将录制的一些常来替换为参数;
内容检查:LR只检测到网页的响应,就认为是pass而不管当前网页的正确性,所以设置检查点,确保在测试时结果的正确性; 迭代次数:action部分的循环次数。 3. 创建场景
对Vuser脚本进行场景设置和负载环境设置。
手动场景:通过定义Vuser组,Vuser脚本和运行脚本的负载生成器
来创建场景;
百分比模式:定义场景中要使用的Vuser总数,负载生成器计算机以及要分配给每个Vuser脚本的Vuser占总数的百分比。
面向目标的场景:定义你希望的测试目标,LR会根据这些目标自动构建场景。
编辑计划:设置加压方式、压力持续时间和减压方式等。 场景组:选择组/脚本,虚拟用户数量以及负载生成器等。 运行时设置:对脚本进行运行时属性设置。 四、实验过程
(1)先安装LoadRunner:
(2)安装完成进入Loadrunner主界面:
(3)单击“Create/Edit Scripts”,启用后新建一个用户脚本,测试Web应用如下所示:
(4)进入Virtual User Generator窗口:
(5)单击Start Record出现Start Recording窗口:
输入URL地址,开始录制脚本。 Vuser init 是录制脚本的起始点; Action 是录制脚本的活动; Suser end 是录制脚本的终止点;
(6)脚本录制完后,点击Tools工具栏下的Create Controller Scenario...选项,会出现脚本的运行次数,确定后会出现如下:
此界面是规划脚本的开始数目,开始时间,驻留时间,退出时间,同时退出的数目等。
(7)点击Edit scheduler按钮出现如下所示界面;
Ramp UP
上图所示为每15秒运行5个脚本; Duration
计划每个脚本的驻留时间; Ramp Down
规定每隔多长时间退出多少数目; 点击OK,出现下图界面; (8)开始压力负载测试:
图示数据只为说明,并不是实验真实数据
五、实验结果:
总时间(包括斜坡上/下):10分20秒。 最高运行Vusers:50
总吞吐量(字节):3512000 总点击数:34322 采用本地数据
Name: Scenario1
Results in Session: C:\\Documents and Settings\\Administrator\\Local Sett
ings\\Temp\\noname3\\res\\
Session Name: 调度信息 Started On:
5-6-2010 14:45:08
Ended On: 5-6-2010 14:55:29 Time: Run for 000:05:00 (hhh:mm:ss) Load Behavior:
Start 5 Vusers every 00:00:15 (hh:mm:ss)
脚本、类型、文件: Script noname3 Type File QTWSettings\\Administrator\\Local Settings\\Temp\\noname3\\ eb 用户的影响
显示平均交易响应时间相对于在任何给定点运行在负载测试Vusers数目。这个图表可以帮助您查看Vuser负载对性能的影响,时间一般是在分析最有用的负载测试,是一个渐进的负荷运行。 标题:事务响应时间根据负荷 图表类型:关联 基地图:运行Vusers
附加条件:平均事务响应时间 粒度:1秒
ColoScalMeasurement r e Action_Transa1 ction vuser_end_Tra1 nsaction vuser_init_Tra1 nsaction Vuser载方案
显示了Vusers执行Vuser脚本的数量,他们的地位,在每一个负载测试第二。此图是用于确定您的服务器上有用的Vuser负载在任何特定的时刻。 标题:运行Vusers
目前的结果:C:\\Documents and Settings\\Administrator\\Local
. MinAve. . MaxSD Settings\\Temp\\noname3\\res\\ 过滤器:Vuser状态=(运行) 分组依据: 粒度:16秒
ColoScalr e 1 Measurement Run Graph Min. Graph Ave. Graph Max. 50 Graph Graph Median SD 20 交易响应时间
显示平均所需的时间期间执行的每个负载测试的第二个交易。这个图表可以帮助您确定是否在服务器的性能是可以接受的最低和最高的处理性能为您的系统时间范围界定。 标题:平均事务响应时间
目前的结果:C:\\Documents and Settings\\Administrator\\Local Settings\\Temp\\noname3\\res\\
过滤器:交易结束状态=(通过) 分组依据: 粒度:16秒
ColoScalMeasurement r e Action_Transa1 ction vuser_end_Tra1 nsaction
运行Vusers
显示了Vusers执行Vuser脚本的数量,他们的地位,在每一个负载测
vuser_init_Tra1 nsaction . MinAve. . MaxSD 试第二。此图是用于确定您的服务器上有用的Vuser负载在任何特定的时刻。 标题:运行Vusers
目前的结果:C:\\Documents and Settings\\Administrator\\Local Settings\\Temp\\noname3\\res\\ 过滤器:Vuser状态=(运行) 分组依据: 粒度:16秒
ColoScalr 交易概要
显示了通过交易数量,失败,停止,或错误的结束。
e 1 Measurement Run Graph Min. Graph Ave. Graph Max. 50 Graph Graph Median SD 20 标题:交易综述
目前的结果:C:\\Documents and Settings\\Administrator\\Local Sett ings\\Temp\\noname3\\res\\ 过滤器:Vuser状态=(运行) 分组依据:
ColoScalr e 1 Measurement Pass 平均事务响应时间
显示平均所需的时间期间执行的每个负载测试的第二个交易。这个图表可以帮助您确定是否在服务器的性能是可以接受的最低和最高的处理性能为您的系统时间范围界定。 标题:平均事务响应时间
目前的结果:C:\\Documents and Settings\\Administrator\\Local
Settings\\Temp\\noname3\\res\\ 过滤器:交易结束状态=(通) 分组依据: 粒度:16秒
ColoScalr e MeasureGraph's ment Action_T 1 ransactio n vuser_en 1 d_Transa ction vuser_ini1 t_Transa Min. Graph's Ave. Graph's Max. Graph's Graph's Median SD ction
六、实验小结
1.从这次实验我感觉到LoadRunner工具的强大。学会了参数化、集合点、文本检查点并学会场景设置和运行多个虚拟用户,但是在结果分析的还有待提高。
2.数据承载量不是很理想,这与我们初次开发有关,下个版本准备重新设计数据库结构。
3.网站加载速度比较理想,因为网站程序很简洁、前台页面设计采取div+css布局、程序采用调用机制而非直接操作数据库。
4:用户在处于10000以内同时浏览和执行程序时反应快,但是当用户数在大于10000时程序反应会明显变慢。
5:通过对LoadRunner的使用,逐渐熟悉了其使用方法,了解到了其在网站测试上十分有用,但是由于时间仓促,对该软件没有充分的了解,希望在以后学习中更好地利用。