LR基础知识培训.ppt_第1页
LR基础知识培训.ppt_第2页
LR基础知识培训.ppt_第3页
LR基础知识培训.ppt_第4页
LR基础知识培训.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

loadrunner入门知识介绍,制作人 :sana小晨,2019/2/16,引言:什么是loadrunner,loadrunner 是一种预测系统行为和性能的工业标准级负载测试工具,通过模拟用户实施并发负载及实时监测来分析问题的。,2019/2/16,lr的原理图,2019/2/16,基本组件:,脚本生成器virtual user generator: 提供了基于录制的可视化图形开发环境,录制脚本、脚本编写、事物、参数化等在此实现。 压力调度和监控系统controller: 负责对整个负载过程进行设置,设定负载的周期与方式并监控系统。 压力生成器load generator: 负责将脚本虚拟成大量的用户对系统实时负载。 结果分析工具analysis: 对负载生成后的相关数据进行分析整理。,2019/2/16,第一节 lr的安装,2019/2/16,1.安装要求: 要比较好的运行loadrunner 内存最好在512m 以上, 安装loadrunner 的磁盘空间至少9gb。 操作系统最好为windows 。,性能测试工具lr11.00.loadrunner-11.iso lr11 破解 详细步骤请参照lr11安装指南,2019/2/16,2.安装必备软件:,第二节 lr的使用,2019/2/16,第一步:测试计划,1.分析被测应用 需要熟悉被测系统的软硬件配置情况,建议划出系统的组成图,包括系统依赖的硬 件环境组成、构成应用的软件组成以及部署情况。 2.确定测试目标 在测试之前首先要明确测试要达到一个什么样的目标。例如,获得系统完成某个事 物所花费的时间,明确何种配置能够使系统性能最有,获得系统无差错运行的最大 时等这些指标既是压力负载测试的重点,也是标识产品性能的重要依据,需要在测 试计划阶段就明确是否针对该指标进行测试。 3.设计在loadrunner中怎样执行 针对loadrunner的特点和被测软件的具体情况,确定loadrunner的配置环境、模拟 的用户数量、典型的执行步骤、需要重点分析的性能指标等。,2019/2/16,第二步:生成测试脚本,1. 选择协议 2. 录制测试脚本 3. 开发测试脚本 4. 试运行脚本 5.保存脚本,2019/2/16,2.1.选择协议,要想正确的选择loadrunner的脚本协议,首先要从loadrnner的工作原理上深入理解协议的作用和意义。loadruner启动后,在任务栏上会有一个loadrnner agent process的进程,这个进程的一项重要的工作就是监视各种协议的客户端和服务器端的通信。只要是能够支持的协议,loadrunner在录制的过程中就可以通过脚本语言将通信过程录制下来。所以只有明确了被测软件的通信过程和所使用的协议,loadrunner才能正确的录制脚本。对于常见的应用软件,我们可以根据被测应用是b/s结构还是c/s结构来选择协议; 对于b/s结构,可以选择web(http/httml)协议; 对于c/s结构,可以根据后端数据库的类型来选择,如sybasectlib协议用于测试后台数据库为sybase的应用,ms sql server协议用于测试后台数据库为sql server的应用; 对于没有数据库的windows应用,可以选择windows sockets这个底层的协议; 这里需要说明的是,无论使用哪种协议,loadrunner的测试流程都基本是一样的,只有在设定细节上有所不同,测试人员只要对被测应用的技术架构熟悉了,就能够成功完成脚本的录制。,2019/2/16,2.2.录制脚本,在virtual user generator主窗口单击start record按钮,系统就开始自动录制脚本。 理解脚本的三个部分; loadrunner 将测试脚本分为3个部分,vuser_init,vuser_end和action,其中vuser_init和vuser_end一般用于存放应用程序初始化的脚本和注销关闭的脚本,在重复执行的时候,这两部分的内容只执行一次.而action部分用于存放实际的操作脚本,这部分脚本可以多次执行,测试人员还可以根据需要创建多个action 脚本,但不能创建vuser_init和vuser_end. 熟悉录制脚本工具栏: 在录制的过程中屏幕上有一个悬浮的工具栏,这是控制脚本录制的工具栏,是脚本录制过程中测试人员和vugen交互的主要平台,每个可用的按钮都可以执行相应的操作; 查看脚本; script view:查看全部的脚本; tree view:查看从每个url获取来的页面;,2019/2/16,2.3.开发测试脚本,2019/2/16,插入事务,思考时间,插入集合点,插入集合点,脚本参数化,插入检查点,脚本参数化,2.3.1 插入事务,1.什么是事务 2.为何插入事务 3.如何插入事务,2019/2/16,什么是事务,所谓事务(transaction),就是在脚本定义中定义的某段操作(action),更确切的说,就是一段脚本语句.定义事务时,首先在脚本中找到事务的开始和结束位置,然后分别插入一个事务起始标记,这样,当脚本运行的时候,loadruner会自动在事务的起始点计时,脚本在运行到事务结束点时计时结束,系统会自动记录这段操作的运行时间等性能数据;在脚本运行完毕后,系统会在结果信息中单独反映每个事务运行结果.,2019/2/16,为何插入事务,2019/2/16,有时侯测试人员根据项目需要,除了要衡量整个测试脚本的性能外,还想获取到脚本中的某一段和几段操作的性能数据;以便更详细的知道具体的是用户的哪些动作对性能的影响比较大.loadrunner采用在脚本中定义事务来达到这一要求。,如何插入事务,定位事务语句的集合 插入事务起始点语句 将光标放置在欲定义事务的语句集合中第一条语句的上面一行,单击工具栏上的 insert start transaction按钮,输入事务名称后,单击ok按钮,系统自动在脚本语句 中插入如下语句: lr_start_transaction(“事务名称”) 注意:事务名称最好有意义,这样在分析结果的时候,就很容易从事务的名称判断出所执行的动作。 插入事务结束点语句 将光标放置在欲定义事务的语句集合中最后一条语句的后面一行,单击工具栏上的insert end transaction按钮,输入事务名称后,单击ok按钮,系统自动在脚本语句中插入如下语句: lr_end_transaction(“事务名称“),2019/2/16,演示,2.3.2 插入集合点,2019/2/16,1.什么是集合点 2.如何插入集合点,什么是集合点,系统压力最大的情况是:所有用户都集中到系统瓶颈的某个点上进行操作,从脚本的角度来讲,这个点就是执行脚本的某一条或一段语句,为了真实模拟这个最坏的情况,查看系统在最坏情况下的反映,loadrunner提供了集合点的功能,帮助测试人员实现真正意义上的并发 说明: 多用户同时加载并发,并发过程仅仅体现在开始执行的那一刹那,随着服务器对请求的响应时间的不一致或系统环境条件的限制,在运行过程中能集合到一点的可能性微乎其微,所以将一定数量的用户同时加载并不是真正意义上的并发.,2019/2/16,如何插入集合点,使用loadruuner实现集合点功能的方法如下: 在脚本准备访问的语句上面插入一个空白行,并将光标移到该空白行上;选择insert|rendezvous命令,系统弹出rendezvous对话框,输入集合点名称后点击ok按钮.系统会自动在脚本中插入下面语句: lr_rendezvous(“集合点名称”) 这样的脚本在运行的时候,就可以在集合点处实现真正的并发了.运行带有集合点的脚本时可以在scenario group列表的rendez一栏看到虚拟用户的聚集过程。 注意: 集合点经常和事务结合起来使用,常放在事务的前面,集合点只能插入到脚本中action部分,vuser_int和vuer_end中不能插入集合点。,2019/2/16,演示,2.3.3 脚本参数化,2019/2/16,1.什么是脚本参数化 2.如何参数化脚本,什么是脚本参数化,所谓的脚本参数化,就是针对脚本中的某些常量,定义一个或多个包含数据源的参数来取代,让场景中不同的虚拟用户在执行相同的脚本时,分别使用参数数据源中的不同数据代替这些常量,从而达到模拟多用户真实使用系统的目的。,2019/2/16,如何参数化,1.确定要参数化的常量 2.准备数据(参数值 ) 3.对常量参数化 (1)在脚本中用鼠标选中要参数化的常量,然后单击鼠标右键,在弹出的快 捷 菜单中选择replace with a parameter命令,系统弹出select or create parameter对话框.通过这个对话框可以选择一个已经存在的参数,还可以根据需要创建一个新的参数. (2)单击properties按钮,可以在parameter properties 对话框中设定脚本执行时参数的详细替换方式,不同的数据源类型的属性设定对话框的内容也会有所不同 注:参数化输入只能用于函数中的参数,不能用参数代替非函数中的常量参数;,2019/2/16,演示,2.3.4 插入检查点,2019/2/16,1.为什么插入检查点 2.如何插入检查点,为什么插入检查点,loadrunner检查点的功能主要用来验证某个界面上是否存在指定的text或image等对象,在使用loadrunner测试web应用时,可以检查压力较大时web服务器能否返回正常的页面。,2019/2/16,如何插入检查点,1.定位要检查的页面 定位需要检查的页面,最好将脚本视图切换到tree view方式,这样就可以直观地查看到 loadrunner录制时获取的每个页面了。在tree view视图中用鼠标单击页面左侧列表中 页面对应的url,就能迅速查看到准备检查的页面和页面上需要检查的图象或文本信息。 2.插入文字检查点 选择相应的url,单击鼠标右键,在系统弹出的菜单中选择insert after或insert before 命令,在url的脚本前面或后面插入函数,在add step对话框中可以插入很多的函数,如果想 为web应用插入图像或文本检查点,需要选择web checks下面的image check或textcheck ,在系统弹出的检查点属性对话框中,输入要查询的文字或图像名称后,系统会自动在tree view 视图中的树型列表中插入类似的step。loadrunner 还允许对要检查的文字内容和图像名称进行 参数化,参数化的过程可以在插入检查点的 过程中实现,还可以在插入之后重新打开脚本实现。要 想在插入检查点时就直接实现参数化,只需要在设置被检查对象的名称时单击abc按钮,创建或选择 参数输入就可以了。 3.查看检查点是否通过 脚本运行结束后,要想查看检查点是否通过,可以在tree view视图下,用鼠标右键单击检查点步 骤,选择go to step in execution命令,则系统自动将光标定位到执行日志中获取检查点结果 的一行上。 注意:系统在执行时是否启用检查点,是有一个系统参数控制的,如果让检查点起作用,需要选中“启用图像和文本检查”复选框,2019/2/16,演示,2.3.5 思考时间,定义:用户在执行两个连续操作期间等待的时间称为“思考时间”,2019/2/16,2.4.试运行脚本,脚本录制完毕后,按f5键或单击菜单上的run按钮,可以运行脚本。 在virtual user generator中运行脚本的作用,主要是查看录制的脚本能否正常通过,如果有问题,系统会给出提示信息,并定位到出错的行上,便于用户查找到错误,修改完善测试脚本,运行结束后;系统会给出相应的运行结果.,2019/2/16,2.5.保存脚本,loadrunner的测试脚本在资源管理器中是以目录的形式存储的,目录名称就是loadrunner识别的脚本名称。,2019/2/16,第三步: 创建测试场景,选择脚本 ,创建虚拟用户 添加unix资源监视窗口 添加unix性能计数器,2019/2/16,演示,3.1 创建虚拟用户,打开loadrunner11,点击“run load tests”,弹出如图窗口:,2019/2/16,例如,我们刚才录制并保存的脚本 ,选择该脚本,点击“添加”到场景中,点击“确 定”出现下图: 这里我们根据需要修改虚拟用户数量,这里我们取“10”,根据不同场景取不同数字。,2019/2/16,此时点“编辑计划”进行方案的细化。“计划名”里可以选择计划种类: 默认计划,加压,缓慢加压和新计划(自己定义名称)。 默认计划:同时加载所有vuser,直到完成; 加压:每15秒启动2个vuser 持续时间5分种; 缓慢加压:每2分种启动2个vuser 持续时间10分种; 这里我们选择“加压”,出现界面如图: :,2019/2/16,2019/2/16,设置负载机,点“加压”标签设置加压方法,点“持续时间”标签选择完成时间,点“减压”标签选择退出 方法;点“场景开始时间”可以定义时间后自动到点执行,并在一个限定的时间范围内结束, 所有设置完毕后;点“确定”返回上一级窗口,点“开始场景”启动运行,出现如图窗口:,2019/2/16,3.2 添加unix资源监视窗口,loadruner默认性能监视窗口四个,分别是“运行vuser”、“事务响应时间”、“每秒点击次数”、“windows资源”,最后一个可以根据用户自己选择现实什么窗口。打开可用图中目录树,选择系统资源,找到unix资源双击,则unix资源监视窗口便自动替换原窗口如上图。当然loadrunner也可以同时显示116个窗口,方法是点右键,在弹出菜单中选择“查看图”选择显示的图数,也可以自定义数字。,2019/2/16,添加unix性能计数器,1.鼠标选择unix资源监视窗口,点击右键弹出 菜单中选择“添加度量”,弹出如图窗口:,2.点“添加”把监视的服务器地址ip输入,点 确定,如图:,2019/2/16,备注:被监视服务器需要启动进程rstatd 且该进程已正常工作,否则会报错,具体 可参考“监控linux资源所需进程安装手册”。,添加unix性能计数器,3.正常连接到服务器,可以添加想要监控的性 能指标,在资源度量里添加具体的可用度量 。包括cpu利用率,出页/分页率 磁盘流量等,此时要注意,你登陆客户端(也就是你装 有loadrunner机器)的用户应该是管理员身 份,同时还要保证该用户在被监视的服务 器上也是管理员身份。这样选择虽然监视 窗口中仍会显示所有性能曲线,但是可以 通过鼠标右键弹出菜单,选中你指定的某 条曲线单独显示。方法是双击监视窗口放 大显示,然后右键选择“仅显示指定图” 监视窗口还可以互相叠加等操作,功能强 大,通过右键菜单选择可以进行复杂显示 操作。常用的还有web程序服务器图、数 据库服务器资源图等,添加方法雷同。计 数器有那些,有什么含义,理想值是多少,2019/2/16,第四步: 运行场景,条件全部设置完毕后,点击“开始场景”,注意观看场景运行。,2019/2/16,点击此处,停止场景,演示,第五步:分析测试结果,loadrunner性能测试结果分析是个复杂的过程,通常可以从结果摘要、并发数、平均事务响应时间、每秒点击数、业务成功率、系统资源、网页细分图、web服务器资源、数据库服务器资源等几个方面分析,如图所示:,2019/2/16,5.1 结果摘要,2019/2/16,脚本执行完毕后,点击导航栏“结果”选项,在弹出窗口中选择“分析结果”loadrunner会自动分析结果,生成分析结果图或表 首先显示的该结果的一个摘要信息,如 上图所示。概要中列出了场景执行情况、“statistics summary(统计信息摘要)”、“transaction summary(事务摘要)”以及“http responses summary(http响应摘要)”等以简要的信息列出本次测试结果。,演示,5.2 响应时间,2019/2/16,通过平均事物响应时间可以详细查看每个事物在场景运行过程中的响应时间。,注意:,在平时的性能测试活动中,统计结果的时候需要去掉思考时间,加上思考时间是为了真实的模拟用户环境,统计结果中除去思考时间是为了更真实的反映服务器的处理能力,两者并不矛盾。 “90 percent time”,这个时间从某种程度来说,更准确衡量了测试过程中各个事务的真实情况,表示90%的事务,服务器的响应都维持在某个值附近,“average time”值对于平均事务响应时间变动趋势很大的情况统计就不准确了。我们在查看平均事务响应时间的时候,先看整体曲线走势,如果整体趋势比较平滑,没有忽上忽下的波动情况,取“average time”与“90 percent time”都可以,如果整体趋势毫无规律,波动非常大,我们就不用“average time”而使用“90 percent time”可能更真实些。,2019/2/16,5.3 每秒点击数,2019/2/16,“hits per second(每秒点击数)”反映了客户端每秒钟向服务器端提交的请求数量,如果客户端发出的请求数量越多,与之相对的“average throughput (bytes/second)”也应该越大,并且发出的请求越多会对平均事务响应时间造成影响,所以在测试过程中往往将这两者结合起来分析。 上图显示的是“hits per second”与“average throughput (bytes/second)”的复合图,从图中可以看出,两种图形的曲线都正常并且基本一致,说明服务器能及时的接受客户端的请求,并能够返回结果。一般情况下,我们可以通过“hits per second”和“average throughput(bytes/second)”曲线来分析结果,如下图所示:,2019/2/16,hits per second”与“average throughput (bytes/second)”的分析图,2019/2/16,两者均正常,average throughput 不正常,hits per second 不正常,5.4 业务成功率,业务成功率就是事务成功率,用户一般把一个aciton当做一笔业务,在loadrunner场景执行中一笔交易称为一个事务。所以说,业务成功率其实就是事务成功率、通过率的意思。在“transaction summary”中我们可以很明确的看到每个事务的执行状态,如图所示: 从图中可以看出,所有的aciton都是绿色的,即表示为passed,同时除了vuser_init与vuser_end两个事务,其他的事务通过数为20000,也就表明在30分钟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论