《LR基础知识培训.ppt》由会员分享,可在线阅读,更多相关《LR基础知识培训.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LOADRUNNERLOADRUNNER入门知识介入门知识介绍绍 制作人制作人 :Sana小晨小晨2023/4/24引言:什么是引言:什么是LOADRUNNERLOADRUNNER LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具,通过模拟用户实施并发负载及实时监测来分析问题的。2023/4/24LRLR的原理图的原理图 2023/4/24基本组件:基本组件:脚本生成器Virtual User Generator:提供了基于录制的可视化图形开发环境,录制脚本、脚本编写、事物、参数化等在此实现。压力调度和监控系统Controller:负责对整个负载过程进行设置,设定负载的周
2、期与方式并监控系统。压力生成器Load Generator:负责将脚本虚拟成大量的用户对系统实时负载。结果分析工具Analysis:对负载生成后的相关数据进行分析整理。2023/4/24第一节第一节 LRLR的安装的安装 2023/4/241.安装要求:要比较好的运行LoadRunner 内存最好在512M 以上,安装LoadRunner 的磁盘空间至少9GB。操作系统最好为Windows。性能测试工具LR11.00.loadrunner-11.isoLR11 破解详细步骤请参照LR11安装指南2023/4/242.安装必备软件:第二节第二节 LRLR的使用的使用 2023/4/24 制定测试
3、计划制定测试计划 1生成测试脚本生成测试脚本2运行负载测试运行负载测试3结果分析结果分析4第一步第一步:测试计划测试计划1.分析被测应用分析被测应用需要熟悉被测系统的软硬件配置情况,建议划出系统的组成图,包括系统依赖的硬件环境组成、构成应用的软件组成以及部署情况。2.确定测试目标确定测试目标在测试之前首先要明确测试要达到一个什么样的目标。例如,获得系统完成某个事物所花费的时间,明确何种配置能够使系统性能最有,获得系统无差错运行的最大时等这些指标既是压力负载测试的重点,也是标识产品性能的重要依据,需要在测试计划阶段就明确是否针对该指标进行测试。3.设计在设计在LoadRunner中怎样执行中怎样
4、执行 针对LoadRunner的特点和被测软件的具体情况,确定LoadRunner的配置环境、模拟的用户数量、典型的执行步骤、需要重点分析的性能指标等。2023/4/24第二步第二步:生成测试脚本生成测试脚本1.选择协议2.录制测试脚本3.开发测试脚本4.试运行脚本5.保存脚本2023/4/242.1.2.1.选择协议选择协议 要想正确的选择LOADRUNNER的脚本协议,首先要从LOADRNNER的工作原理上深入理解协议的作用和意义。LOADRUNER启动后,在任务栏上会有一个LOADRNNER AGENT PROCESS的进程,这个进程的一项重要的工作就是监视各种协议的客户端和服务器端的通
5、信。只要是能够支持的协议,LOADRUNNER在录制的过程中就可以通过脚本语言将通信过程录制下来。所以只有明确了被测软件的通信过程和所使用的协议,LOADRUNNER才能正确的录制脚本。对于常见的应用软件,我们可以根据被测应用是B/S结构还是C/S结构来选择协议;对于B/S结构,可以选择WEB(HTTP/HTTML)协议;对于C/S结构,可以根据后端数据库的类型来选择,如SYBASECTLIB协议用于测试后台数据库为SYBASE的应用,MS SQL SERVER协议用于测试后台数据库为SQL SERVER的应用;对于没有数据库的WINDOWS应用,可以选择WINDOWS SOCKETS这个底层
6、的协议;这里需要说明的是,无论使用哪种协议,LOADRUNNER的测试流程都基本是一样的,只有在设定细节上有所不同,测试人员只要对被测应用的技术架构熟悉了,就能够成功完成脚本的录制。2023/4/242.2.2.2.录制脚本录制脚本在VIRTUAL USER GENERATOR主窗口单击START RECORD按钮,系统就开始自动录制脚本。理解脚本的三个部分;LOADRUNNER 将测试脚本分为3个部分,VUSER_INIT,VUSER_END和ACTION,其中VUSER_INIT和VUSER_END一般用于存放应用程序初始化的脚本和注销关闭的脚本,在重复执行的时候,这两部分的内容只执行一次
7、.而ACTION部分用于存放实际的操作脚本,这部分脚本可以多次执行,测试人员还可以根据需要创建多个ACTION 脚本,但不能创建VUSER_INIT和VUSER_END.熟悉录制脚本工具栏:在录制的过程中屏幕上有一个悬浮的工具栏,这是控制脚本录制的工具栏,是脚本录制过程中测试人员和VUGEN交互的主要平台,每个可用的按钮都可以执行相应的操作;查看脚本;SCRIPT VIEW:查看全部的脚本;TREE VIEW:查看从每个URL获取来的页面;2023/4/242.3.2.3.开发测试脚本开发测试脚本2023/4/24 插入事务思考时间插入集合点插入集合点脚本参数化插入检查点脚本参数化2.3.1
8、2.3.1 插入事务插入事务1.什么是事务2.为何插入事务3.如何插入事务2023/4/24什么是事务什么是事务 所谓事务(TRANSACTION),就是在脚本定义中定义的某段操作(ACTION),更确切的说,就是一段脚本语句.定义事务时,首先在脚本中找到事务的开始和结束位置,然后分别插入一个事务起始标记,这样,当脚本运行的时候,LOADRUNER会自动在事务的起始点计时,脚本在运行到事务结束点时计时结束,系统会自动记录这段操作的运行时间等性能数据;在脚本运行完毕后,系统会在结果信息中单独反映每个事务运行结果.2023/4/24为何插入事务为何插入事务 2023/4/24 有时侯测试人员根据项
9、目需要,除了要衡量整个测试脚本的性能外,还想获取到脚本中的某一段和几段操作的性能数据;以便更详细的知道具体的是用户的哪些动作对性能的影响比较大.LOADRUNNER采用在脚本中定义事务来达到这一要求。如何插入事务如何插入事务定位事务语句的集合 插入事务起始点语句 将光标放置在欲定义事务的语句集合中第一条语句的上面一行,单击工具栏上的 INSERT START TRANSACTION按钮,输入事务名称后,单击OK按钮,系统自动在脚本语句 中插入如下语句:LR_START_TRANSACTION(“事务名称”)注意:事务名称最好有意义,这样在分析结果的时候,就很容易从事务的名称判断出所执行的动作。
10、插入事务结束点语句 将光标放置在欲定义事务的语句集合中最后一条语句的后面一行,单击工具栏上的INSERT END TRANSACTION按钮,输入事务名称后,单击OK按钮,系统自动在脚本语句中插入如下语句:LR_END_TRANSACTION(“事务名称“)2023/4/24演示2.3.2 2.3.2 插入集合点插入集合点2023/4/241.什么是集合点2.如何插入集合点什么是集合点什么是集合点 系统压力最大的情况是:所有用户都集中到系统瓶颈的某个点上进行操作,从脚本的角度来讲,这个点就是执行脚本的某一条或一段语句,为了真实模拟这个最坏的情况,查看系统在最坏情况下的反映,LOADRUNNER
11、提供了集合点的功能,帮助测试人员实现真正意义上的并发说明:多用户同时加载并发,并发过程仅仅体现在开始执行的那一刹那,随着服务器对请求的响应时间的不一致或系统环境条件的限制,在运行过程中能集合到一点的可能性微乎其微,所以将一定数量的用户同时加载并不是真正意义上的并发.2023/4/24如何插入集合点如何插入集合点 使用LOADRUUNER实现集合点功能的方法如下:在脚本准备访问的语句上面插入一个空白行,并将光标移到该空白行上;选择INSERT|RENDEZVOUS命令,系统弹出RENDEZVOUS对话框,输入集合点名称后点击OK按钮.系统会自动在脚本中插入下面语句:LR_RENDEZVOUS(“
12、集合点名称”)这样的脚本在运行的时候,就可以在集合点处实现真正的并发了.运行带有集合点的脚本时可以在SCENARIO GROUP列表的RENDEZ一栏看到虚拟用户的聚集过程。注意:集合点经常和事务结合起来使用,常放在事务的前面,集合点只能插入到脚本中Action部分,vuser_int和vuer_end中不能插入集合点。2023/4/24演示2.3.3 2.3.3 脚本参数化脚本参数化2023/4/241.什么是脚本参数化2.如何参数化脚本什么是脚本参数化什么是脚本参数化 所谓的脚本参数化,就是针对脚本中的某些常量,定义一个或多个包含数据源的参数来取代,让场景中不同的虚拟用户在执行相同的脚本时
13、,分别使用参数数据源中的不同数据代替这些常量,从而达到模拟多用户真实使用系统的目的。2023/4/24如何参数化如何参数化+1.确定要参数化的常量+2.准备数据(参数值)+3.对常量参数化(1)在脚本中用鼠标选中要参数化的常量,然后单击鼠标右键,在弹出的快 捷 菜单中选择REPLACE WITH A PARAMETER命令,系统弹出SELECT OR CREATE PARAMETER对话框.通过这个对话框可以选择一个已经存在的参数,还可以根据需要创建一个新的参数.(2)单击PROPERTIES按钮,可以在PARAMETER PROPERTIES 对话框中设定脚本执行时参数的详细替换方式,不同的
14、数据源类型的属性设定对话框的内容也会有所不同注:参数化输入只能用于函数中的参数,不能用参数代替非函数中的常量参数;2023/4/24演示2.3.4 2.3.4 插入检查点插入检查点2023/4/241.为什么插入检查点2.如何插入检查点为什么插入检查点为什么插入检查点 LOADRUNNER检查点的功能主要用来验证某个界面上是否存在指定的TEXT或IMAGE等对象,在使用LOADRUNNER测试WEB应用时,可以检查压力较大时WEB服务器能否返回正常的页面。2023/4/24如何插入检查点如何插入检查点1.1.定位要检查的页面定位要检查的页面 定位需要检查的页面,最好将脚本视图切换到TREE V
15、IEW方式,这样就可以直观地查看到LOADRUNNER录制时获取的每个页面了。在TREE VIEW视图中用鼠标单击页面左侧列表中页面对应的URL,就能迅速查看到准备检查的页面和页面上需要检查的图象或文本信息。2.2.插入文字检查点插入文字检查点选择相应的URL,单击鼠标右键,在系统弹出的菜单中选择INSERT AFTER或INSERT BEFORE命令,在URL的脚本前面或后面插入函数,在ADD STEP对话框中可以插入很多的函数,如果想为WEB应用插入图像或文本检查点,需要选择WEB CHECKS下面的IMAGE CHECK或TEXTCHECK,在系统弹出的检查点属性对话框中,输入要查询的文
16、字或图像名称后,系统会自动在TREE VIEW视图中的树型列表中插入类似的STEP。LOADRUNNER 还允许对要检查的文字内容和图像名称进行参数化,参数化的过程可以在插入检查点的 过程中实现,还可以在插入之后重新打开脚本实现。要想在插入检查点时就直接实现参数化,只需要在设置被检查对象的名称时单击ABC按钮,创建或选择参数输入就可以了。3.3.查看检查点是否通过查看检查点是否通过脚本运行结束后,要想查看检查点是否通过,可以在TREE VIEW视图下,用鼠标右键单击检查点步骤,选择GO TO STEP IN EXECUTION命令,则系统自动将光标定位到执行日志中获取检查点结果的一行上。注意:
17、系统在执行时是否启用检查点,是有一个系统参数控制的,如果让检查点起作用,需要选中“启用图像和文本检查”复选框2023/4/24演示2.3.5 2.3.5 思考时间思考时间定义:用户在执行两个连续操作期间等待的时间称为“思考时间”2023/4/242.4.2.4.试运行脚本试运行脚本 脚本录制完毕后,按F5键或单击菜单上的RUN按钮,可以运行脚本。在VIRTUAL USER GENERATOR中运行脚本的作用,主要是查看录制的脚本能否正常通过,如果有问题,系统会给出提示信息,并定位到出错的行上,便于用户查找到错误,修改完善测试脚本,运行结束后;系统会给出相应的运行结果.2023/4/242.5.
18、2.5.保存脚本保存脚本 LOADRUNNER的测试脚本在资源管理器中是以目录的形式存储的,目录名称就是LOADRUNNER识别的脚本名称。2023/4/24第三步第三步:创建测试场景创建测试场景选择脚本,创建虚拟用户添加Unix资源监视窗口添加Unix性能计数器 2023/4/24演示3.1 3.1 创建虚拟用户创建虚拟用户+打开LoadRunner11,点击“Run Load Tests”,弹出如图窗口:2023/4/24例如,我们刚才录制并保存的脚本,选择该脚本,点击“添加”到场景中,点击“确定”出现下图:这里我们根据需要修改虚拟用户数量,这里我们取“10”,根据不同场景取不同数字。20
19、23/4/24此时点“编辑计划”进行方案的细化。“计划名”里可以选择计划种类:默认计划,加压,缓慢加压和新计划(自己定义名称)。默认计划:同时加载所有vuser,直到完成;加压:每15秒启动2个vuser 持续时间5分种;缓慢加压:每2分种启动2个vuser 持续时间10分种;这里我们选择“加压”,出现界面如图:2023/4/242023/4/24设置负载机设置负载机点“加压”标签设置加压方法,点“持续时间”标签选择完成时间,点“减压”标签选择退出方法;点“场景开始时间”可以定义时间后自动到点执行,并在一个限定的时间范围内结束,所有设置完毕后;点“确定”返回上一级窗口,点“开始场景”启动运行,
20、出现如图窗口:2023/4/243.2 3.2 添加添加UNIXUNIX资源监视窗口资源监视窗口 loadruner默认性能监视窗口四个,分别是“运行vuser”、“事务响应时间”、“每秒点击次数”、“windows资源”,最后一个可以根据用户自己选择现实什么窗口。打开可用图中目录树,选择系统资源,找到unix资源双击,则unix资源监视窗口便自动替换原窗口如上图。当然loadrunner也可以同时显示116个窗口,方法是点右键,在弹出菜单中选择“查看图”选择显示的图数,也可以自定义数字。2023/4/24添加添加UNIXUNIX性能计数器性能计数器1.鼠标选择unix资源监视窗口,点击右键弹
21、出菜单中选择“添加度量”,弹出如图窗口:2.点“添加”把监视的服务器地址IP输入,点确定,如图:2023/4/24备注:被监视服务器需要启动进程rstatd 且该进程已正常工作,否则会报错,具体 可参考“监控Linux资源所需进程安装手册”。添加添加UNIXUNIX性能计数器性能计数器3.正常连接到服务器,可以添加想要监控的性能指标,在资源度量里添加具体的可用度量。包括cpu利用率,出页/分页率 磁盘流量等此时要注意,你登陆客户端(也就是你装有loadrunner机器)的用户应该是管理员身份,同时还要保证该用户在被监视的服务器上也是管理员身份。这样选择虽然监视窗口中仍会显示所有性能曲线,但是可
22、以通过鼠标右键弹出菜单,选中你指定的某条曲线单独显示。方法是双击监视窗口放大显示,然后右键选择“仅显示指定图”监视窗口还可以互相叠加等操作,功能强大,通过右键菜单选择可以进行复杂显示操作。常用的还有web程序服务器图、数据库服务器资源图等,添加方法雷同。计数器有那些,有什么含义,理想值是多少2023/4/24第四步:第四步:运行场景运行场景条件全部设置完毕后,点击“开始场景”,注意观看场景运行。2023/4/24点 击 此 处,停止场景演示第五步第五步:分析测试结果分析测试结果 LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要、并发数、平均事务响应时间、每秒点击数、业务成
23、功率、系统资源、网页细分图、Web服务器资源、数据库服务器资源等几个方面分析,如图所示:2023/4/245.1 5.1 结果摘要结果摘要2023/4/24 脚本执行完毕后,点击导航栏“结果”选项,在弹出窗口中选择“分析结果”loadrunner会自动分析结果,生成分析结果图或表 首先显示的该结果的一个摘要信息,如 上图所示。概要中列出了场景执行情况、“Statistics Summary(统计信息摘要)”、“Transaction Summary(事务摘要)”以及“HTTP Responses Summary(HTTP响应摘要)”等以简要的信息列出本次测试结果。演示5.2 5.2 响应时间响
24、应时间 2023/4/24通过平均事物响应时间可以详细查看每个事物在场景运行过程中的响应时间。注意:注意:u在平时的性能测试活动中,统计结果的时候需要去掉思考时间,加上思考时间是为了真实的模拟用户环境,统计结果中除去思考时间是为了更真实的反映服务器的处理能力,两者并不矛盾。u“90 Percent Time”,这个时间从某种程度来说,更准确衡量了测试过程中各个事务的真实情况,表示90%的事务,服务器的响应都维持在某个值附近,“Average Time”值对于平均事务响应时间变动趋势很大的情况统计就不准确了。我们在查看平均事务响应时间的时候,先看整体曲线走势,如果整体趋势比较平滑,没有忽上忽下的
25、波动情况,取“Average Time”与“90 Percent Time”都可以,如果整体趋势毫无规律,波动非常大,我们就不用“Average Time”而使用“90 Percent Time”可能更真实些。2023/4/245.3 5.3 每秒点击数每秒点击数2023/4/24 “Hits per Second(每秒点击数)”反映了客户端每秒钟向服务器端提交的请求数量,如果客户端发出的请求数量越多,与之相对的“Average Throughput(bytes/second)”也应该越大,并且发出的请求越多会对平均事务响应时间造成影响,所以在测试过程中往往将这两者结合起来分析。上图显示的是“
26、Hits per Second”与“Average Throughput(bytes/second)”的复合图,从图中可以看出,两种图形的曲线都正常并且基本一致,说明服务器能及时的接受客户端的请求,并能够返回结果。一般情况下,我们可以通过“Hits per Second”和“Average Throughput(bytes/second)”曲线来分析结果,如下图所示:2023/4/24HITS PER SECOND”HITS PER SECOND”HITS PER SECOND”HITS PER SECOND”与与与与“AVERAGE THROUGHPUT(BYTES/SECOND)”AVER
27、AGE THROUGHPUT(BYTES/SECOND)”AVERAGE THROUGHPUT(BYTES/SECOND)”AVERAGE THROUGHPUT(BYTES/SECOND)”的分的分的分的分析图析图析图析图表示服务器虽然能够接受服务器的请求,但返回结果较慢,可能是程序处理缓慢 说明服务器能及时的接受客户端的请求,并能够返回结果说明客户端存在问题,那种问题一般是网络引起的,或者录制的脚本有问题,未能正确的模拟用户的行为2023/4/24两者均正常两者均正常 Average Throughput 不正常 Hits per Second 不正常5.4 5.4 业务成功率业务成功率 业
28、务成功率就是事务成功率,用户一般把一个Aciton当做一笔业务,在LoadRunner场景执行中一笔交易称为一个事务。所以说,业务成功率其实就是事务成功率、通过率的意思。在“Transaction Summary”中我们可以很明确的看到每个事务的执行状态,如图所示:从图中可以看出,所有的Aciton都是绿色的,即表示为Passed,同时除了vuser_init与vuser_end两个事务,其他的事务通过数为20000,也就表明在30分钟的时间里,共完成了20000次登录查询业务操作。那么根据这些可以判断本次测试登录业务与查询业务的成功率是100%。2023/4/242023/4/24场景执行情
29、况场景执行情况 2023/4/24 该部分给出了本次测试场景的名称、结果存放路径及场景的持续时间。STATISTICS SUMMARYSTATISTICS SUMMARY(统计信(统计信息摘要)息摘要)2023/4/24该部分给出了场景执行结束后并发数、总吞吐量、平均每秒吞吐量、总请求数、平均每秒请求数的统计值,如上图所示。从该图我们得知,本次测试运行的最大并发数为7,总吞吐量为842,037,409字节,平均每秒的吞吐量为451,979字节,总的请求数为211,974,平均每秒的请求为113.781,对于吞吐量,单位时间内吞吐量越大,说明服务器的处理能越好,而请求数仅表示客户端向服务器发出的
30、请求数,与吞吐量一般是成正比关系TRANSACTION SUMMARYTRANSACTION SUMMARY(事务摘(事务摘要)要)2023/4/24该部分给出了场景执行结束后相关Action的平均响应时间、通过率等情况,如图5-5所示。从该图我们得到每个Action的平均响应时间与业务成功率。HTTPHTTP响应摘要响应摘要 2023/4/24该部分显示在场景执行过程中,每次HTTP请求发出去的状态,是成功还是失败,都在里体现,如图5-6所示。从图中可以看到,在本次测试过程中LoadRunner共模拟发出了211974次请求(与“统计信息摘要”中的“Total Hits”一致),其中“HTTP 200”的是209811,而“HTTP 404”则有2163,说明在本次过程中,经过发出的请求大部分都能正确响应,但还是有部分失败了,但未影响测试结果,“HTTP 200”表示请求被正确响应,而“HTTP 404”表示文件或者目录未能找到。有朋友可能会问,这里出现了404的错误,为什么结果都通过了。出现这样问题的原因是脚本有些页面的请求内容并非关键点,比如可能请求先的cookie信息,如果没有就重新获取,所以不会影响最终的测试结果。2023/4/24123