admin管理员组

文章数量:1534599

2024年1月25日发(作者:)

Loadrunner搭建及入门

编写: 小海ai吃肉

评审:

日期: 2015年6月15日

文档变更履历

序号

1

变化状态:C——创建,A——增加,M——修改,D——删除

版本

1.0

状态

C

简要说明

创建

变更日期

2015-6-15

变更人

小海ai吃肉

一、前言

LoadRunner是一款专业级别的应用负载测试工具,它可以模拟上千万用户对企业应用进行真实的负载测试,通过大量实时监测器和精确的分析来得到最真实的数据,并且支持自动重复测试,以确保数值稳定和准确。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化产品性能和加速应用系统的发布周期。LoadRunner适用于各种体系架构,它从用户关注的“响应时间”、“点击次数”或是工业层面的“吞吐量”和“请求数”等方面衡量系统的性能表现,进行评测和总结,并辅助用户优化系统性能。

二、安装Loadrunner

获取loadrunner-11安装程序.rar 、loadrunner-11汉化破解.rar 两个压缩包,目前这个版本可以很好的支持win7。在win8和XP上使用可能会有一定兼容问题,而且不支持ie11(后续会讲到如果在win8上支持loadrunner应用)。下面开始安装loadrunner:

1、解压安装包

2、运行“”,点击“LoadRunner完整安装程序”开始安装,另外此安装包有许多附带组件,我们之后可以根据自己需要安装。

3、点击“确定”来安装必备程序,vc2005sp1如果安装错误可以进入安装包

lrunnerChsprerequisitesvc2005_sp1_redist目录手动运行安装

4、正式开始,我们点击“下一步”

5、同意用户协议,点击“下一步”

6、设置用户名和组织,点击“下一步”

7、设置安装目录,点击“下一步”

8. 安装完毕后,将弹出窗口(显示loadrunner的key信息)和loadrunner相关程序全部退出

9、解压破解补丁,将“”、“”覆盖LoadRunner11安装目录下“bin”

文件夹中的对应文件,默认安装路径目录为C:Program FilesMercuryLoadRunnerbin

10、运行,选择“是”清除注册表信息

11、执行注册码破解必须使用administrator帐号(右键打开我的电脑->管理->本地用户组->用户->右键administrator属性,去掉账户已禁用选项),用administrator登录后,再启动loadrunner11,打开左上角的“CONFUGURATION—>loadrunner license”

12、点击“NewLicense”,输入注册码

global-100: AEAMAUIK-YAFEKEKJJKEEA-BCJGI

web-10000: AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB点击OK,破解成功

13、开始使用汉化包,将按汉化包“HP LoadRunner 11.00 Patch ”解压,运行“”,点击“LoadRunner User Lnferface 安装程序”,安装时请确认loadrunner11主程序已经关闭。

14、安装完成后,我们再次用破解包中的两个文件覆盖安装路径下的同名文件即可

15、ok,到这loadrunner11破解和汉化都已完成,最后需要使用自己的用户名登录windows系统,并禁用掉administrator用户。登录后需要使用“以管理员方式运行”打开loadrunner程序,检查key的信息是否正确。(可以右键启动图标属性->兼容性->特权等级进行勾选,使每次点击启动都是以管理员身份运行)loadrunner运行界面如下图:

16、Win7、Win8系统使用注意事项

a. Win7系统中只支持IE8进行脚本的录制,如果IE级别较高可以去控制面板->程序和功能->查看已安装的更新中找到IE8以上版本的更新包(包括中文包)卸载掉。

b. Win8系统中无法使用IE8,但是可以使用Firefox 16 进行脚本的录制,Firefox高版本的录制会加载很慢,所以建议使用Firefox 16版本。

c. Win8系统中使用【运行负载测试】功能时需要将这个程序调整为兼容win7模式才可运行,需要先找到bin目录下的->右键属性->兼容性->兼容模式勾选,选定

windows7 ,然后将特权等级进行勾选。

d. 在运行运行负载测试前需要添加Load Generator,添加localhost,使用平台为

windows即可。

三、Loadrunner组件及术语

LoadRunner 包含以下组件:

➤ Virtual User Generator 录制最终用户业务流程并创建自动化性能测试脚本

➤ Controller 组织、驱动、管理并监控负载测试。

➤ Load Generator 通过运行 Vuser 产生负载。

➤ Analysis 用于查看、剖析和比较性能结果。

➤ Launcher 使您可以从单个访问点访问所有 LoadRunner 组件。

LoadRunner 常用术语:

场景: 场景文件根据性能要求定义每次测试期间发生的事件。

Vuser:在场景中, LoadRunner 用虚拟用户 (或称 Vuser)代替真实用户。 Vuser 模仿真实用户的操作来使用应用系统。一个场景可以包含数十、数百乃至数千个 Vuser。

Vuser 脚本:Vuser 脚本描述 Vuser 在场景中执行的操作。

事务:要评测服务器性能,需要定义事务。事务代表要评测的终端用户业务流程。

集合点:可以使多个 Vuser 同时执行任务,在集合完成前不会触发执行操作。

loadrunner负载测试流程:

loadrunner负载测试一般包括 5 个阶段:规划、创建脚本、定义场景、执行场景和分析结果。

➤规划负载测试。定义性能测试要求,例如并发用户数量、典型业务流程和要求的响应时间。

➤创建 Vuser 脚本。在自动化脚本中录制最终用户活动。

➤定义场景。使用 LoadRunner Controller 设置负载测试环境。

➤运行场景。使用 LoadRunner Controller 驱动、管理并监控负载测试。

➤分析结果。使用 LoadRunner Analysis 创建图和报告并评估性能。

四、创建性能测试脚本

通过管理员权限运行loadrunner,在Loadrunner主界面中,选择【创建/编辑脚本】进入【Virtual User Generator】界面,进行脚本录制。

1、创建空白脚本及触发脚本录制

点击上图红框按钮【新建脚本】,在弹出界面中选择【新建单协议脚本】->【常用协议】->【Web(HTTP/HTML)】,并创建。

点击创建后,进入脚本编辑界面,并需要配置录制脚本的相关信息

红框1: 默认选择 Interner应用程序

红框2: 使用浏览器进行脚本录制,这里最好指定浏览器的绝对路径。Win7建议使用IE8,Win8建议使用Firefox 16

红框3: 用来做性能测试的url地址,必须以开头

红框4: 工作目录填写Loadrunner的bin目录

点击确定后,则会弹出浏览器,并打开填写的url地址加载页面,同时录制工具条也会出现,可控制脚本录制的暂停和停止。

注意事项:在录制脚本前,应该要先构思好录制的操作,可先在浏览器上模拟操作场景,确认后再进行脚本录制,提高脚本录制的效率与准确率。

2、录制脚本代码分离

脚本录制完成后,点击工具条的停止按钮,Loadrunner会自动开始生成录制脚本,如下图:

所有录制的脚本代码将会生成在红框【Action】中,完整的脚本主要包括:

【vuser_init】 打开页面,做场景初始化的操作应该被记录在这里

【Action】 正式的性能测试场景的操作应该被记录在这里

【vuser_end】 性能测试完成后,退出操作或页面的操作应该被记录在这里

由于在开始录制的配置中【录制到操作】默认选择了【Action】,所以脚本暂时被记录在该部分,这也是录制比较快捷的方式,如果一部分一部分的录制会比较耗时间。但是这就要求脚本录制者能看懂自己录制的脚本,合理的分配【vuser_init】【Action】【vuser_end】的代码,分离后的效果就像下图一样,只留下需要做性能测试的操作。

在脚本模式很难看懂的情况下可以结合,【树】模式进行理解,【树】模式可以看到加载的页面信息,包括输入的字符信息等,可以更好的帮助理解脚本的含义。选中某个节点后,切换到【脚本】模式,光标会指定到选中的某个节点代码位置,便于定位。

3、脚本验证回放

脚本编辑好后,就需要对脚本进行回放,验证是否能正常运行通过。点击【验证回放】,切换到验证界面,选择【开始回放】后,则程序会开始进行回放验证

通过【可视测试结果】或录制、回放前后截图对比,确认回放是否正确

一般只需要看【可视测试结果】,全部通过则脚本可正常运行。如果出现失败的情况,建议先重新录制脚本,再考虑如何排查问题。

4、添加事务

在性能测试中,事务的设置至关重要,它决定了之后性能测试场景及数据的准确性。对于事务的添加在刚开始的时候就应该设计好操作场景,并把每个单一的操作的场景 或 一连串的操作场景当作一个完整的事务。下面举个例子:

上图是已经分离好的脚本,在【Action】里只有一个操作场景【Url:】,这个场景主要用来搜索内容中包含3的数据,而这也是需要做性能测试的内容(并发搜索3的性能测试),那么就可以把这个操作场景做为一个事务进行添加。

右键【Url:】->【在之前插入】,弹出【添加步骤】界面,选择【开始事务】,并为事务取一个名字

同样的添加【开始事务】成功后,需要添加一个【结束事务】,右键【Url:】->【在之后插入】,选择【结束事务】事务名称会自动联想到之前填写的名称。

添加了事务之后,在进行性能测试时Loadrunner就会针对事务单独的收集性能数据。

5、添加集合点

集合点主要用做并发量的测试,它的工作方式是将所有的用户都集合起来,再进行下一步的操作,达到同时多用户并发的效果,在所有用户未达到集合点前会继续等待其他用户,不会触发下一步操作。集合点的并发时间单位可以精确到微秒级别。集合点的设置一般都设置在事务前面,用做并发操作事务。

右键【开始事务】->【在之前插入】,弹出【添加步骤】界面,选择【集合】,并取名

6、脚本参数化

在做性能测试的时候,往往需要不同的用户执行不同的入参,来达到真实的并发场景效果,那么将录制脚本时单一的字符、字符串或数值进行参数化就非常有必要。进行参数化前,先应该

了解脚本代码,确定哪部分需要进行参数化,下面还是按照之前的例子说明:

先将视图调整到【脚本】,之前设置好的事务、集合点代码也会被写入到脚本。上面添加事务时是将并发搜索3的操作做为了一个事务,那么3就是录制时的参数,此时就需要对3进行参数化,在脚本中找到3。

选中3,并且右键选择【替换为参数】,弹出下面的参数界面,填写参数名称

点击属性对参数值进行,更具体的设置,如下图

点击【创建表】,新建一个数据文件

新建成功后,会生成一个数据列表,可以通过界面上的控件进行数据的添加,这里建议使用【用记事本编辑】功能,可以快速方便的添加数据。

将所需要的测试的参数,依次写入到打开的记事本中。

保存后,输入的参数将被记录到数据表中

设置完参数后,需要对参数的执行方式进行调整,下面对执行方式进行一下说明

Sequential 按顺序将数据分配给Vuser

Random 每次请求新的参数值时从数据表中分配一个随机值

Unique 给每个 Vuser 的参数赋一个唯一的序列值

在多用户并发且每个用户需要使用不同值的时候,选择【Unique】。

Each iteration 每次迭代时更新一次参数 (一般选择每次迭代)

Each occurrence 在脚本中的每个参数出现位置都使用新的值

Once 在场景运行期间仅更新参数值一次

在选择了【Unique】后才会出现【当超出值时】选项,针对唯一的情况有可能会出现参数不足,而设置超出值策略。

Abort Vuser 超出值后中止Vuser

Continue in a cyclic manner 超出值以循环方式继续 (一般选择循环)

Continue with last 超出值以最后的值继续

参数属性设置完成后,关闭参数属性设置界面,并在【选择或创建参数】界面点击【确定】,则脚本中参数3,变为一个变量去获取参数属性表中的值。如下图

7、脚本内容检查

脚本内容检查,主要是用作确认页面反馈信息的正确性,保障每次运行结果与预期的一致。添加在事务内,操作后,进行操作后结果的检查。右键【Url:】->【在之后插入】,弹出【添加步骤】界面,选择【Web检查】,选择【图像检查】或【文本检查】。

【图像检查】 通过页面结果页的图片进行检查

【文本检查】 通过页面中文本信息进行检查,文本检查的兼容性比图像检查的兼容性要好,建议先考虑使用【文本检查】。

内容检查添加完成后会在,操作下面生成检查项

以上的脚本增强功能,都可以根据实际情况进行选择性设置,但是在设置完成后,必须再进行一次验证回放操作,确保脚本能够正常运行。回放验证通过后,将脚本保存,自此脚本的录制、调整工作就完成了,接下来就是性能测试场景执行。

五、运行负载测试

脚本录制完成后,在Loadrunner主界面中,选择【运行负载测试】进入【Load Generator】界面,进行负载测试。先设置场景所需的脚本,将之前保存的脚本在【手动场景】类型下,添加到右侧的【场景中脚本】内,点击【确定】,完成场景脚本的添加操作。

手动场景可以控制正在运行的 Vuser 数目及其运行时间,另外还可以测试出应用程序可以同时运行的 Vuser 数目。可以使用百分比模式,根据业务分析员指定的百分比在脚本间分配所有的 Vuser。安装后首次启动 LoadRunner 时,默认选中百分比模式复选框。如果已选中该复选框,请取消选中。

1、Controller 窗口一览

Controller 窗口的设计选项卡分为三个主要部分:

➤ “场景组”窗格

➤ “服务水平协议”窗格

➤ “场景计划”窗格

【场景组】窗格: 在“场景组”窗格中配置 Vuser 组。您可以创建代表系统中典型用户的不同组,指定运行的 Vuser 数目以及运行时使用的计算机。

【服务水平协议】窗格: 设计负载测试场景可以为性能指标定义目标值或服务水平协议 (SLA)。

【场景计划】窗格: 在“场景计划”窗格中,设置加压方式以准确模拟真实用户行为。可以根据运行 Vuser 的计算机、将负载施加到应用程序的频率、负载测试持续时间以及负载停止方式来定义操作。

2、配置生成负载计算机

添加脚本后,可以配置生成负载的计算机。Load Generator是为了在应用程序中运行 Vuser而生成的负载计算机。一般使用localhost本地的电脑进行负载,也可以使用其他电脑做为Load

Generator组成一个负载集群,并在每个Load Generator上运行多个Vuser。这里只对本地电脑负载做说明。

如红框1,选中脚本

点击红框2中的【Load Generator】图标,添加负载机器

点击红框3【添加】,在红框4内填写【localhost】添加为本机,最后点击【确定】,添加成功

选中负载机器,点击【连接】

连接成功后,状态显示【就绪】,此时才可以开始进行负载测试

3、组信息设置

单独的脚本称作一个组,针对这个组内的信息可以做一些调整,例如:脚本的修改、运行时

设置等,双击一个组会弹出组信息界面。在界面中可以点击【查看脚本】对当前脚本进行修改

可点击【运行时设置】对脚本的运行方式进行设置

除了启用检查要注意,其他的设置都可以使用默认值,如果需要设置一些特殊的运行方式,可以参考下面的介绍。

➤运行逻辑。用户重复一系列操作的次数。

➤步。重复操作之前等待的时间。

➤日志。希望在测试期间收集的信息的级别。如果是首次运行场景,建议生成日志消息,确保万一首次运行失败时有调试信息。

➤思考时间。用户在各步骤之间停下来思考的时间。由于用户是根据其经验水平和目标与应用程序交互,因此,技术上更加精通的用户工作速度可能会比新用户快。通过启用思考时间,可使

Vuser 在负载测试期间更准确地模拟对应的真实用户。

➤速度模拟。使用不同网络连接(例如调制解调器、 DSL 和电缆)的用户。

➤浏览器模拟。使用不同浏览器查看应用程序性能的用户。

➤内容检查。用于自动检测用户定义的错误。假设发生错误时应用程序发送了一个自定义页面。

该自定义页面总是包含文字ASP Error。您需要搜索服务器返回的所有页面,并查看是否出现文字 ASPError。可以使用内容检查运行时设置,设置 LoadRunner 在测试运行期间自动查找这些文字。LoadRunner 将搜索这些文字并在检测到时生成错误。在场景运行期间,您可以识别内容检查错误。

4、模拟真实加压方式

添加Load Generator后,就可以配置加压方式。典型用户不会正好同时登录和退出系统,LoadRunner允许用户逐渐登录和退出系统,它还允许设置场景持续时间和场景停止方式。下面将要配置的场景相对比较简单。但在设计更准确地反映现实情况的场景时,可以定义更真实的

Vuser活动。

【场景计划】窗格分为三部分:计划定义区域、操作单元格和交互计划图。

在计划定义区域,确保选中计划方式:【场景】和运行模式:【实际计划】。

在操作单元格,可对Vuesr初始化、启动Vuser、持续时间、停止Vuser等进行设置。

Vuser初始化

启动Vuser

持续时间

停止Vuser

以上4项设置完成后,会根据设置的内容在交互计划图中展现,至此场景计划配置完毕,下一步可以开始运行负载场景了。

5、Controller“运行”视图一览

通过【开始场景】按钮,触发负载场景运行,触发后会跳转到【运行】窗口

Controller 窗口中的 “运行”选项卡是用来管理和监控测试情况的控制中心。“运行”视图包

含五个主要部分:“场景组”窗格、“场景状态”窗格、可用图树、图查看区域、图例

6、场景组介绍

场景组内可以查看Vuser 的状态。使用该窗格右侧的按钮可以启动、停止和重置场景,查看各个 Vuser 的状态,通过手动添加更多 Vuser 增加场景运行期间应用程序的负载。

单击【Vuser】按钮,这时将打开Vuser窗口,状态列显示每个Vuser的状态

点击【运行/停止Vuser】,可以通过此方式在负载测试过程中随意调整运行、停止的用户数,减轻或增加负载找到程序的最大负载情况。

7、场景状态介绍

可以在其中查看负载测试的概要信息,包括正在运行的 Vuser 数量和每个 Vuser 操作的状态。深入了解是哪些Vuser操作导致应用程序出现问题。过多的失败事务和错误说明应用程序在负载下的运行情况没有达到原来的期望。

点击【通过的事务】或【失败的事务】,可以查看事务的详细信息列表

点击【错误】,可以看到在负载过程中应用程序无法正确处理响应的报错,报错的类型也有许多种,需要根据实际的报错信息进行分析。

8、可用图树及图查看区域介绍

可用图。可以在其中看到一列 LoadRunner 图。要打开图,请在树中选择一个图,并将其拖到图查看区域。

图查看区域。可以在其中自定义显示画面,查看1到8个图(视图 > 查看图) 。

图例。位于底部的窗格,可以在其中查看所选图的数据。

常用可用图介绍:

➤“正在运行 Vuser - - 整个场景”图。显示在指定时间运行的 Vuser 数。

➤“事务响应时间 - - 整个场景”图。显示完成每个事务所用的时间。

➤“每秒点击次数 - - 整个场景”图。显示场景运行期间 Vuser 每秒向 Web 服务器提交的点击次数 (HTTP 请求数) 。

➤“Windows 资源”图。显示场景运行期间评测的 Windows 资源。

➤“吞吐量”图。显示 Vuser 每秒从服务器接收的数据总量 (以字节为单位) 。可以将此图与“事务响应时间”图比较,查看吞吐量对事务性能的影响。如果随着时间的推移和 Vuser 数

目的增加,吞吐量不断增加,说明带宽够用。如果随着 Vuser 数目的增加,吞吐量保持相对平稳,可以认为是带宽限制了数据流量。

当负载测试运行完成后,接下来就需要对负载的结果进行分析。

六、分析场景

负载测试结束后,在菜单栏点击【结果】->【分析结果】,对负载结果进行分析

分析结束后,将会进入到【Analysis】界面,若想再次查看分析数据,需先将分析数据保存,然后通过Loadrunner主界面的【分析测试结果】进行查看。

1、Analysis窗口一览

Analysis 包含下列主要窗口:

➤会话浏览器

➤属性窗口

➤图查看区域

➤图例

➤概要报告

【会话浏览器】窗格。位于左上方的窗格, Analysis 在其中显示已经打开可供查看的报告和图。您可以在此处显示打开 Analysis 时未显示的新报告或图,或者删除自己不想再查看的报告或图。

【属性】窗格。位于左下方的窗格,属性窗口在其中显示您在会话浏览器中选择的图或报告的详细信息。黑色字段是可编辑字段。

【图查看区域】位于右上方的窗格, Analysis 在其中显示图。默认情况下,打开会话时,概要报告将显示在此区域。

【图例】位于右下方的窗格,在此窗格内,您可以查看所选图中的数据。

2、关联图分析

在做数据分析时,只单独看一张图的数据无法正确分析,一般都需要通过两张或两张以上的数据图结合进行分析。将两个图关联起来,就会看到一个图的数据对另一个图的数据产生的影响,也能更好的做出分析。例如,可以将“运行 Vuser”图与“平均事务响应时间”图相关联,查看

大量Vuser 对事务平均响应时间产生的影响。

右键单击 “运行 Vuser”图并选择【合并图】。

在选择要合并的图列表中,选择平均事务响应时间。在选择合并类型区域中,选择关联,然后单击确定。两个图就被关联起来展示,如下图。

关联图的用法也需要根据实际性能测试情况而定,使用正确的关联图来分析,可以为更准确的找

到应用程序的性能瓶颈提供帮助。

七、注意事项

使用loadrunner进行性能测试时,对于性能测试的数据,千万不能单凭两三次的测试数据做为依据,还应该要结合服务器资源占用情况,数据库资源占用情况等组合起来反复多次的进行测试后,观察数据值是否与预期的一致,如果有较大出入就应该思考整个测试环境是否有问题,及时做调整,等待最终结果趋于平稳时才是做决定的最佳时机。对于需要注意的内容,做如下几点提醒:

1、性能测试要多设计几种测试场景,观察每种测试场景的测试数据,是否是有序可循的,如果相差较大就应该先检查测试环境方面的问题。

2、在做负载测试过程中,应该要观察一下Linux服务器和数据库服务器的资源占用情况(Loadrunner中可以通过工具扩展集成到可用图中),并在数据分析时结合这两种情况分析。

3、每个场景的负载测试一定要执行多次,取多次执行数据的平均值,并且需要观察多次执行数据结果之间的差异,如果差异较大,那么先应看看测试环境问题。

4、在设置事务的时候,一定要注意尽可能的使事务简单,如果是复杂的事务建议进行拆分,否则复杂的事务会增加事务测试数据分析的难度。

这里只是对Loadrunner常用操作做了一下说明,想要了解跟详细具体的loadrunner可以参考Loadrunner的中文说明书。想要真正玩转loadrunner还是需要不断的使用,在使用过程中体会、思考,最终理解。

本文标签: 脚本测试场景运行负载