南昌大学软件学院实验报告实验名称LoadRunner的使用实验地点实验日期指导教师学生班级学生姓名学生学号提交日期LoadRunner简介:LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。LoadRunner是目前应用最为广泛的性能测试工具之一。一、实验目的1.熟练LoadRunner的工具组成和工具原理。2.熟练使用LoadRunner进行Web系统测试和压力负载测试。3.掌握LoadRunner测试流程。二、实验设备PC机:清华同方电脑操作系统:windows7实用工具:WPSOffice,LoadRunner8.0工具,IE9三、实验内容(1)、熟悉LoadRunner的工具组成和工具原理1.LoadRunner工具组成虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本;压力产生器:通过运行虚拟用户产生实际的负载;用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;监视系统:监控主要的性能计数器;压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。2.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/EditScripts”,启用后新建一个用户脚本,测试Web应用如下所示:(4)进入VirtualUserGenerator窗口:(5)单击StartRecord出现StartRecording窗口:输入URL地址,开始录制脚本。Vuserinit是录制脚本的起始点;Action是录制脚本的活动;Suserend是录制脚本的终止点;(6)脚本录制完后,点击Tools工具栏下的CreateControllerScenario...选项,会出现脚本的运行次数,确定后会出现如下:此界面是规划脚本的开始数目,开始时间,驻留时间,退出时间,同时退出的数目等。(7)点击Editscheduler按钮出现如下所示界面;RampUP上图所示为每15秒运行5个脚本;Duration计划每个脚本的驻留时间;RampDown规定每隔多长时间退出多少数目;点击OK,出现下图界面;(8)开始压力负载测试:图示数据只为说明,并不是实验真实数据五、实验结果:总时间(包括斜坡上/下):10分20秒。最高运行Vusers:50总吞吐量(字节):3512000总点击数:34322采用本地数据Name:Scenario1ResultsinSession:C:\DocumentsandSettings\Administrator\LocalSettings\Temp\noname3\res\res.lrrSessionName:Session1.lra调度信息StartedOn:5-6-201014:45:08EndedOn:5-6-201014:55:29Time:Runfor000:05:00(hhh:mm:ss)LoadBehavior:Start5Vusersevery00:00:15(hh:mm:ss)脚本、类型、文件:ScriptTypeFilenoname3QTWebSettings\Administrator\LocalSettings\Temp\noname3\noname3.usr用户的影响显示平均交易响应时间相对于在任何给定点运行在负载测试Vusers数目。这个图表可以帮助您查看Vuser负载对性能的影响,时间一般是在分析最有用的负载测试,是一个渐进的负荷运行。标题:事务响应时间根据负荷图表类型:关联基地图:运行Vusers附加条件:平均事务响应时间粒度:1秒ColorScaleMeasurementMin.Ave.Max.SD1Action_Transaction0.00.0015.9380.0481vuser_end_Transaction0.00.0130.6720.0941vuser_init_Transaction0.00.1891.250.414Vuser载方案显示了Vusers执行Vuser脚本的数量,他们的地位,在每一个负载测试第二。此图是用于确定您的服务器上有用的Vuser负载在任何特定的时刻。标题:运行Vusers目前的结果:C:\DocumentsandSettings\Administrator\LocalSettings\Temp\noname3\res\res.lrr过滤器:Vuser状态=(运行)分组依据:粒度:16秒ColorScaleMeasurementGraphMin.GraphAve.GraphMax.GraphMedianGraphSD1Run0.022.8502016.742交易响应时间显示平均所需的时间期间执行的每个负载测试的第二个交易。这个图表可以帮助您确定是否在服务器的性能是可以接受的最低和最高的处理性能为您的系统时间范围界定。标题:平均事务响应时间目前的结果:C:\DocumentsandSettings\Administrator\LocalSettings\Temp\noname3\res\res.lrr过滤器:交易结束状态=(通过)分组依据:粒度:16秒ColorScaleMeasurementMin.Ave.Max.SD1Action_Transaction0.00.0015.9380.0481vuser_end_Transaction0.00.0130.6720.0941vuser_init_Transaction0.00.1891.250.414运行Vusers显示了Vusers执行Vuser脚本的数量,他们的地位,在每一个负载测试第二。此图是用于确定您的服务器上有用的Vuser负载在任何特定的时刻。标题:运行Vusers目前的结果:C:\DocumentsandSettings\Administrator\LocalSettings\Temp\noname3\res\res.lrr过滤器:Vuser状态=(运行)分组依据:粒度:16秒ColorScaleMeasurementGraphMin.GraphAve.GraphMax.GraphMedianGraphSD1Run0.022.8502016.742交易概要显示了通过交易数量,失败,停止,或错误的结束。标题:交易综述目前的结果:C:\DocumentsandSettings\Administrator\LocalSettings\Temp\noname3\res\res.lrr过滤器:Vuser状态=(运行)分组依据:ColorScaleMeasurement1Pass平均事务响应时间显示平均所需的时间期间执行的每个负载测试的第二个交易。这个图表可以帮助您确定是否在服务器的性能是可以接受的最低和最高的处理性能为您的系统时间范围界定。标题:平均事务响应时间目前的结果:C:\DocumentsandSettings\Administrator\LocalSettings\Temp\noname3\res\res.lrr过滤器:交易结束状态=(通)分组依据:粒度:16秒ColorScaleMeasurementGraph'sMin.Graph'sAve.Graph'sMax.Graph'sMedianGraph'sSD1Action_Transaction0.00.0010.0020.0020.0011vuser_e0.00.0040.0190.00.008nd_Transaction1vuser_init_Transaction0.00.1810.7410.0270.282六、实验小结1.从这次实验我感觉到LoadRunner工具的强大。学会了参数化、集合点、文本检查点并学会场景设置和运行多个虚拟用户,但是在结果分析的还有待提高。2.数据承载量不是很理想,这与我们初次开发有关,下个版本准备重新设计数据库结构。3.网站加载速度比较理想,因为网站程序很简洁、前台页面设计采取div+css布局、程序采用调用机制而非直接操作数据库。4:用户在处于10000以内同时浏览和执行程序时反应快,但是当用户数在大于10000时程序反应会明显变慢。5:通过对LoadRunner的使用,逐渐熟悉了其使用方法,了解到了其在网站测试上十分有用,但是由于时间仓促,对该软件没有充分的了解,希望在以后学习中更好地利用。