LoadRunner入门教程.docx_第1页
LoadRunner入门教程.docx_第2页
LoadRunner入门教程.docx_第3页
LoadRunner入门教程.docx_第4页
LoadRunner入门教程.docx_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

LoadRunner入门教程LoadRunner安装1. 解压LoadRunner安装包2. 运行setup.exe文件3. 在弹出的窗口中点击LoadRunner完整安装程序4. 按照提示进行安装,需要注意的是安装路径不要有中文字符。LoadRunner破解1. 解压HP.LoadRunner破解文件和说明压缩包2. 将解压后文件夹中的lm70.dll和mlr5lprg.dll两个文件复制到loadrunner安装路径的bin目录下并进行覆盖3. 执行lr_Del_license(regedit).exe删除LoadRunner注册码4. 打开LoadRunner界面5. 点击configurationloadrunner license6. 此时在弹出的窗口下方点击New License按钮7. 在弹出的输入框中输入注册码:AEACFSJI-YJKJKJJKEJIJD-BCLBR,点击OK按钮8. 此时窗口中会显示添加的注册码信息,关闭窗口后就可以正常使用LoadRunner了LoadRunner简介LoadRunner由四大组件组成:VuGen、控制器、负载发生器和分析器。1. VuGen发生器:捕捉用户的业务流,并最终将其录制成一个脚本:(1) 选择相应的一种协议;(2) 在客户端模拟用户使用过程中的业务流程,并录制成一个脚本;(3) 编辑脚本和设置Run-Time Settings项;(4) 编译脚本生成一个没有错误的可运行的脚本。2. 控制器(Controller):(5) 设计场景,包括手动场景设计和目标场景设计两种方式;(6) 场景监控,可以实时监控脚本的运行的情况。可以通过添加计数器来监控Windows资源、应用服务器和数据库使用情况。(7) 场景设计的目的是设计出一个最接近用户实际使用的场景,场景设计越接近用户使用的实际情况,测试出来的数据就越接近真实值。3. 负载发生器(Load Generators):模拟用户对服务器提交请求。(8) 通常,在性能测试过程中会将控制器和负载发生器分开;当使用多台负载发生器时,一定要保证负载均衡(指在进行性能测试的过程中,保证每台负载发生器均匀地对服务器进行施压)。4分析器(Analysis):主要用于对测试结果进行分析。LoadRunner脚本录制脚本录制录制脚本共分为五步:新建脚本选择网络协议设置录制模式脚本录制脚本调试。新建脚本Loadrunner选择协议分为单协议和多协议两种模式,如何选择由被测系统所用脚本决定,下面以主流的http单协议为例简单介绍下操作步骤(LoadRunner中自带一个B/S系统,在Samplesweb目录中点击Start Web Service即可启动该系统):在LoadRunner主界面点击Create/Edit Scripts即可打开HP Virtual User Generator组件;在新打开的窗口中点击FileNew按钮;选择协议在完成上一步后会弹出选择协议的窗口,选择New Single Protocol Script(单协议) Popular Protocals中的Web(HTTP/Html)协议,然后点击Create按钮即完成协议选择;设置录制模式在完成协议选择后会弹出录制设置窗口,在URL Address中输入被测系统地址,然后点击Options按钮选择录制模式,在弹出的窗口中选择Recording,可以选择HTML和URL两种模式; 下面介绍下两种模式的区别:(1) HTML:HTML-mode录制是缺省也是推荐的录制模式。它录制当前网页中的HTML动作。在录制会话过程中不会录制所有的资源。在回放时,HTML-mode脚本积极地解析返回的信息来获得要下载的资源。 HTML-based 方式对每个页面录制形成一条语句,对LoadRunner来说,在该模式下,访问一个页面,首先会与服务器之间建立一个连接获取页面的内容,然后从页面中分解得到其他的元素(component),然后建立几个连接分别获取相应的元素。 HTML-mode是上下文敏感方式,因为它只能在先前请求的结果的上下文之内执行。由于许多的HTTP 请求数据都是从内存中取出来的,所以语句必须在正确的前个请求之后执行。 HTML-mode录制的优点是: a.资源从内存中取出且在回放时下载。因此,脚本比其他的录制方式更小且更容易阅读。b.由于只有较少的硬编码脚本,因此只有较少的动态数值需要关联c.可以插入图片检查之类的语句以检查结果是否正确。 d.因为HTML模式回放时需要积极地解析返回的信息,因此它可能会比其他录制模式更加占用资源。然而,HTML模式record/replay有相当大的改善,使得差异最小化且微不足道。(2) URLURL-mode选项指导VuGen录制来自server的所有的请求和资源。它自动录制每一个HTTP资源为URL的步骤。这种录制模式甚至抓取非HTML应用程序,例如applets和非浏览器的应用程序。 URL-based 方式将每条客户端发出的请求录制成一条语句,对LoadRunner来说,在该模式下,一条语句只建立一个到服务器的连接,LoadRunner提供了web_concurrent_start和web_concurrent_end函数模拟HTML-based的工作方式。如何决定选择何种录制方式: 1、基于浏览器的应用程序推荐使用HTML-Based Script。 2、不是基于浏览器的应用程序推荐使用URL-Based Script。 3、如果基于浏览器的应用程序中包含了Java Script,applet等并且该脚本向服务器产生了请求,也要使用URL-Based Script方式录制。 4、基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-Based Script方式录制。 5、录制过程中不要使用浏览器的“后退”功能,LoadRunner对其支持不太好。录制脚本在选择好录制模式后,在Record into Action里选择脚本放置模块,LoadRunner脚本分为三个模块:init、action、end,将主要测试业务放置在action中,init和end分别只在脚本开始和结束时运行一次,action可多次循环;选择好后点击ok按钮开始录制脚本,需要注意的是LoadRunner11仅支持到IE9;在录制过程中可以切换脚本模块,操作完成后点击结束按钮,LoadRunner会自动生成脚本;窗口中的工具条的按钮从左到右分别为开始录制、回放、停止、暂停、检查语法、新增Action、插入事务的开始、插入事务的结束、添加集合点、添加注释、运行时设置、添加检查点。脚本调试在脚本界面中点击红框的按钮检查脚本语法是否正确,若不报错即可点击回放按钮回放脚本查看服务器返回时候符合预期。在回放脚本时,有一个runtime Setting(运行时设置),由于在Controller中同样可以设置所以放到后面介绍。参数化Lr中可以对参数进行动态赋值,以保证脚本运行正确。在脚本中,可以选择想要参数化的数据右键Replace with Parameter将其替换为参数。参数被保存在Parameter List中,单击可以打开参数列表窗口。1. 参数类型Parameter type表示参数类型,可从下拉列表中选择需要的类型2. 参数取值改变参数取值的方式在Select next row和Update value on这两个选项。Select next row用于设置取值顺序,包含四个选项:Sequential顺序取值、Random随机取值、Unique唯一取值、Same lineas取某个参数的同行。Update value on用于设置何时改变参数取值,包含三个选项:Each iteration:每次迭代更新、Each occurrence:每次取值更新、Once:只更新一次。在不同的场景中需要设置不同的取值方式,下面的表格中简单总结一下取值的对应关系:Update value onSelect next rowSequentialRandomUniqueEach iteration每个用户数据相同每个用户独立随机根据自动或者手动分配block size的方式获得每个用户的数据块Each occurrence每个用户数据相同每个用户独立随机根据手动设置分配每个用户的数据块Once每个用户数据相同每个用户独立随机每个用户使用参数列表中的一个值当设置的参数值不够用时,可以通过When out of values来设置如何取值:Abort Vuser:退出该虚拟用户。Continue in a cyclic manner:循环使用参数值。Continue with last value:重复使用最后一个参数值。运行场景LoadRunner中,Vugen仅作用为脚本录制和编辑,实际的测试工作是在Controller中完成的。在Controller可以设置不同的场景来应对不同的测试需求,越贴近真实用户行为的场景越能反应系统的实际处理能力,而运行场景实际上由Controller和Load Generators共同完成。Controller新建场景创建场景有两种方式:1. 通过VuGen直接转换当前脚本进入场景。点击ToolsCreate Controller Scenario,就可以将当前脚本转化为场景;2. 在LoadRunner主界面中选择Run Load Tests即可打开Controller,在弹出的窗口中从左侧的AvailableScripts选择测试脚本添加到右侧Scripts in Scenario中,点击OK按钮即可创建一个场景。场景类型场景分为目标场景和手工场景,两种场景用于不同目的的的测试。1. 目标场景(Goal Scenario)目标场景就是设置一个运行目标,通过Controller的Auto Load功能进行自动化负载,如果测试的结果达到目标则说明系统性能符合测试目标,否则就提示无法达到目标,在目标场景中一般只关心测试结果是否满足性能需求,常用于验收测试。选择目标场景需要在新建场景时选择Goal-Oriented Scenario。2. 手工场景(Manual scenario)手工场景是通过人工设置虚拟用户的变化,通过设计用户的添加、运行和减少的过程来模拟真实用户的请求,通过掌握场景运行过程中被测系统的资源使用情况来定位性能瓶颈并了解系统处理能力,一般在负载测试和压力测试中应用。场景设置目标场景在目标场景中最重要的就是目标类型,目标场景提供了五种目标,每种目标都有独立的设置。1. Virtual Users该参数表示虚拟用户数,这里只需要填写希望系统能够达到的用户数目即可。2. Hits per Second该参数表示每秒点击数,是指在一秒钟能做到的点击请求数目,即客户端产生的每秒请求数(正常情况下每秒点击数等同于服务器请求响应数)。除了要设置点击的指标,还需要设置在线用户的上下限,场景运行时会自动调整用户数来测试在一定的用户范围内系统是否都能达到定义的目标。3. Transactions per Second(TPS)该参数表示每秒事务数,一个事务代表完成一个操作,每秒事务数反映了系统的处理能力。当脚本中含有事务函数时才可以使用,这里需要制定事务名称、TPS指标以及需要完成该指标的用户数。4. Transactions Response Time该参数表示事务的响应时间,反映了系统的处理速度以及做一个操作所需要花费的时间。当脚本中含有事务函数时,可以设定事务响应时间的指标。5. Pages per Minute该参数表示每分钟页面的刷新次数,反映的系统在每分钟下能提供的Page(页面)处理能力。页面的生成能力反映了一个系统的整体处理能力,一个页面包含了多少个点击请求。当设置完成性能的目标后,需要设置场景运行模式,设置分为两部分:1. Scenario Settings(场景设置)Run Time是指当目标达到后,需要继续运行多长时间来测试系统的稳定性。当目标无法达成时,有两个选择:Stop scenario and save results:停止运行场景。Continue scenario without reaching:继续运行场景。2. Load Behavior(负载生成)Load Behavior提供目标场景负载生成方式Ramp Up的设置,可以使用自动管理,也可以手工设置一个需要达到目标的时间。设置完成后,就可以启动目标场景,Controller会自动调整用户个数形成负载。手工场景(Manual Scenario)手工场景是由测试人员自己设置虚拟用户的变化,通过设计用户的添加和减少过程来模拟真实用户请求,完成负载生成,通过长我在负载的增加过程中系统各个组件的变化情况来定位性能瓶颈并了解系统处理能力,一般在负载测试和压力测试中应用。手工场景的核心就是设置用户负载方式,通过Scenario Schedule的Schedule by和Run Mode选项可以兑虚拟用户的负载方式进行设置。手工场景在Schedule by中分为Scenario和Group两种模式。1. Scenario模式Scenario模式下所有脚本都使用相同的场景模型来运行,只需要分配每个脚本使用的用户个数即可。Scenario模式下的Run Mode有两大类:Real-world schedule和Basic schedule。1.1 Real-world schedule(真实场景模式)在Real-world schedule中可以通过Add Action来添加多个用户变化过程。用户初始化方式有三种,一般使用默认选项,在每个虚拟用户开始运行前进行初始化。Start Vusers可以设置产生负载的用户数,一般使用每隔一段时间增加一定的用户负载方式,也可以设置为立即一次性加载用户。Duration可以设置持续时间,一定时间的负载可以测试系统在该负载下的稳定性,也可以选择只执行一次脚本。Stop Vusers设置释放虚拟用户策略,可以设置用户直接停止,也可以通过设置负载逐渐下降分析系统回收资源的能力。上图中的配置为:在每个虚拟用户开始运行前进行初始化;每15秒增加两个用户,共增加10个用户;在增加到10个用户后持续运行5分钟;运行完成后每30秒减少5个用户直到全部结束。1.2 Basic schedule(基础模式)这种模式只能设置一次负载的上升持续和下降,在基础模式中,Duration持续时间会多出Run indefinitely选项,即脚本会永不停止的运行下去。1.3 多脚本运行在Scenario模式下经常需要模拟多个脚本共同运行的情况,从而测试系统在多种业务下的处理能力。手工场景中,用户脚本被称为Group,因为每个用户组都代表一种脚本操作,通过组名来区别脚本之间的关系。修改各个Group的用户数可以通过在Start Vusers中修改开始的用户总数,然后在Scenario菜单中选择Convert Scenario to the Percentage Mode将场景用户模式改为百分比模式,或者在新建脚本时之间勾选百分比模式,然后修改各个脚本所占总用户数百分比。2. Group模式在Group模式中,除了可以独立设置脚本开始原则,还可以通过Start Group策略为脚本之间设置前后运行关系。负载生成器管理Load Generators是运行脚本的负载引擎,在默认情况下使用本地的负载生成器来运行脚本,但是模拟用户行为也需要消耗一定的系统资源,所以在一台电脑上无法模拟大量的虚拟用户,这时可以通过调用多个Load Generators来完成大规模的性能负载。打开Scenario菜单下的Load Generators打开管理界面,点击Add即可添加负载引擎,注意添加的IP对应的机器需提前安装并启动Load Generator服务。添加引擎后,单机connect按钮连接,如果出现Ready说明连接成功。运行设置在场景运行前需要对脚本的运行策略进行设置,确保整个场景中所有用户的运行方式正确。1. Think Time在VuGen中Think Time默认为忽略,但是场景中会按照脚本录制的lr_think_time函数进行运行。Think Time可以模拟真实用的操作等待。Think Time的大小可以影响对服务器的压力,需要选取一个合适的值。2. 负载生成方式负载生成分为进程和线程两种方式:进程:模拟负载的资源开销大,每个虚拟用户使用一个单独的进程完成负载,每个用户相对独立,不会互相影响。线程:多个用户共用一个线程,资源消耗小,但线程模式会存在不稳定的情况,导致用户脚本执行错误。3. 系统日志VuGen中系统日志默认为Always send messages,场景中则默认为Send messages only when an error occurs,只在出现错误时记录日志,可以减少负载是记录日志的资源开销。4. 带宽模拟带宽会直接影响事务的响应时间,这里可以为用户设置合理的带宽来模拟真实情况。5. 集合点策略如果脚本中含有集合点,需要根据需求对集合点的策略进行设置,多脚本运行时只要设置同名的集合点即可。系统监控在场景运行前需要对系统进行监控,记录负载机和测试机的资源使用情况。单机controller 底部的Run标签可以切换到场景运行页面。页面中主要包含了Scenario Groups、Scenario Status、Available Graphs三个模块。1. Scenario Groups(场景用户状态)在Scenario Groups中列出了所有运行脚本的虚拟用户状态。2. Scenario Status(场景运行状态)Scenario Status列出了当前场景的状态,通过它可以了解当前负载的用户数、消耗时间、每秒点击量、事务通过/失败的个数以及系统错误的个数。当场景运行出错时,点击Errors后的数字就可以查看错误日志。3. Available Graphs(场景监控图表)在Available Graphs左侧列表中,可以选择需要监控的项目,包括运行用户数、响应时间、每秒事务数、被测系统服务器资源等。场景运行当完成场景的设计及监控工作后,开始运行场景。在场景运行时要保证被测环境的独立性,避免其它操作影响测试结果。在Controller的Run页面中点击按钮即可开始运行场景。数据收集分析新建Analysis分析导入场景数据生成Analysis有三种方式:l 当场景运行结束直接在Results菜单下的Analyze Results命令进入Analysis。l 在Analysis中打开新建菜单,找到运行场景时的结果目录。l 在场景结果目录中打开Mercury LoadRunner Result文件。Summary Report在Analysis生成结果后,首页Summary Report,提供了整个场景数据的简单报告。1. Analysis SummaryPeriod:场景的起止时间。Scenario Name:场景名称。Results in Session:场景运行的结果目录。Duration:场景运行的时间。2. Statistics SummaryMaximum Running Vusers:场景最大用户数。Total Throughput (bytes):总带宽流量。Average Throughput (bytes/second):平均每秒带宽流量。Total Hits:总点击数。Average Hits per Second:平均每秒点击量。单击View HTTP Responses Summary可以跳转到报告的最下端查看HTTP请求的统计。3. Transaction SummaryTotal Passed:事务通过数,同Pass。Total Failed:事务失败数,同Fail。Total Stopped:事务停止数,同Stop。Average Response Time:点击可以打开事务平均响应时间图表。Transaction Name:事务名。Minimum:最小响应时间。Average:平均响应时间。Maximum:最大响应时间。Std. Deviation:响应时间方差。90 Percent:90%的事务响应时间,这个值的意思是有90%的事务响应比它小。4. HTTP Responses SummaryHTTP Responses:http请求状态。Total:http请求返回次数。Per second:每秒请求数。Graphs在场景运行时可以看到一些图,这些图在Analysis中可以打开,Analysis会默认打开几张图。这是系统最基本的几个图,反映了在不同时间段相关计数器的变化情况。在Graphs上右键菜单中选择Add New Graphs命令可以添加图表。Vusers(虚拟用户状态)Vusers用户状态提供了产生负载的虚拟用户运行状态的相关信息,可以帮助了解负载生成过程。1. Running Vusers反映系统形成负载的过程,随着时间的推移,虚拟用户是如何变化的。2. Rendezvous当场景中设置了集合点后可以打开此图,反映各个时间点上并发用户的数目。Errors(错误统计)当场景运行中出现错误时,错误时间和类型可以通过此图呈现。Errors per Second通过每秒错误数可以了解在每个时间点上错误的数目,该数据越小越好,通过这个图可以定位系统何时开始不稳定,配合系统日志可以定位产生错误的原因Transactions(事务)这里给出了所有和事务相关的数据统计,方便了解被测系统业务处理的响应时间和吞吐量。1. Average Transaction Response Time反应随着时间的变化事务响应时间的变化情况,时间越小说明处理速度越快。还需要注意响应时间增加的趋势,斜率越小越稳定越好。2. Transactions per SecondTps反应了系统在同一时间内能处理业务的最大能力,数据越高说明系统

温馨提示

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

评论

0/150

提交评论