Loadrunner 详细实例教程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012842547/article/details/91419485

Loadrunner 详细实例教程

1. 了解LoadRunner

1.1 Loadrunner简介

过去的 20 年里,各公司一直致力于开发自动化操作软件。一直以来,通过软件应用程序,我们获得了巨大的效率和生产力,而软件应用程序已成为一种在全球经济中进行协作和共享信息的新介质。实际上,使用软件应用程序已成为共享关键业务信息和处理各类事务的主要方式。今天,软件应用程序已涵盖了从电子邮件到用于事务处理的 CRM 等业务。

在现阶段,随着软件开发技术快速发展,日趋成熟,现代应用程序的复杂性也在急剧上升。应用程序也许使用数十个或数百个组件就能从事曾一度用纸或手来处理的工作。在业务处理过程中,应用程序的复杂程度与潜在故障点的数量有直接的关联。故障点越多,找出问题根源的难度就越大。

此外,软件应用程序不像汽车。它们没有仅在磨损后才需更换的永久零件。不管是因为要提供具有竞争力的优势还是因为要响应业务条件的变化,软件应用程序每周、每月和每年  都在发生着变化。而这一系列的变化又将导致其他风险,各公司必须对这些风险进行管理。

惊人的变化速度和软件复杂性的急剧上升也给软件开发过程带来了巨大的风险。严格的性能测试是量化和减少业务风险最常见的策略。使用 Mercury LoadRunner 进行自动负载测试是应用程序部署过程中必不可少的部分。

1.2 为什么应进行自动性能测试

自动性能测试是一项规范,它利用有关产品、人员和过程的信息来减少应用程序、升级程序或修补程序部署中的风险。自动性能测试的核心原理是通过将生产时的工作量应用于预部署系统来衡量系统性能和最终用户体验。构造严密的性能测试可回答如下问题:

➤ 应用程序是否能够很快地响应用户的要求?

➤ 应用程序是否能处理预期的用户负载并具有盈余能力?

➤ 应用程序是否能处理业务所需的事务数量?

➤ 在预期和非预期的用户负载下,应用程序是否稳定?

➤ 是否能确保用户在真正使用软件时获得积极的体验?

通过回答以上问题,自动性能测试可以量化更改业务指标所产生的影响。进而可以说明部署的风险。有效的自动性能测试过程将有助于您做出更明智的发行决策,并防止系统出现故障和解决可用性问题。

1.3 LoadRunner组件有哪些

LoadRunner包含下列组件:

➤虚拟用户生成器(The Virtual User Generator,简称VuGen)用于捕获最终用户业务流程和创建自动性能测试脚本(也称为虚拟用户脚本)。

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

➤ 负载生成器用于通过运行虚拟用户生成负载。

➤ Analysis 有助于您查看、分析和比较性能结果。

➤ Launcher 为访问所有 LoadRunner 组件的统一界面。

1.4 了解LoadRunner术语

➤ 场景(Scenarios).场景是一种文件,用于根据性能要求定义在每一个测试会话运行期间发生的事件。

➤ 虚拟用户(Vuser).在场景中, LoadRunner 用虚拟用户或 Vuser 代替实际用户。Vuser 模拟实际用户的操作来使用应用程序。一个场景可以包含几十、几百甚至几千个 Vusers。

➤ Vuser 脚本.Vuser 脚本用于描述 Vuser 在场景中执行的操作。

➤ 事务.要度量服务器的性能,需要定义事务。事务表示要度量的最终用户业务流程。

1.5 负载测试流程

负载测试通常由五个阶段组成:计划、脚本创建、场景定义、场景执行和结果分析。 

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

创建 Vuser 脚本:将最终用户活动捕获到自动脚本中。

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

运行场景:通过 LoadRunner Controller 驱动、管理和监控负载测试。

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

1.6 熟悉Mercury Tours

为了说明 Mercury 解决方案,本教程针对示例应用程序使用了示例性能要求。应用程序 Mercury Tours 是基于 Web 的旅行代理系统。 Mercury Tours 用户可以连接到 Web 服务器、搜索航班、预订航班并查看航班路线。

LoadRunner 支持 40 多种类型的应用程序,本教程将只介绍对基于 Web 的应用

程序进行负载测试。

在本部分中,您将熟悉 Mercury Tours 应用程序。

打开 Mercury Tours

您将亲手使用 Mercury Tours 应用程序来体验性能测试。在继续学习本教程之前,请执行下列步骤来感受该应用程序并熟悉其外观。

 1 确保示例 Web 服务器正在运行。

安装和重新启动 LoadRunner 后,Web 服务器将自动启动。如果您再次重新启动系统后,该服务器没有运行,请依次选择“开始” >“程序” > “Mercury LoadRunner” >“Samples” >“Web”> “Start Web Server”。

注意: 如果您尝试在 Web 服务器已经运行的情况下启动该服务器,将显示一条错误消息。您可以忽略该消息并继续学习本教程。

 2 打开 Mercury Tours 应用程序。

选择“开始” >“程序” > “Mercury LoadRunner” >“Samples” > “Web” >

“Mercury Web Tours Application” 。将打开浏览器,其中显示 Mercury Tours 的

起始页。

 3 登录到 Mercury Tours。

键入下列信息: 

成员名:jojo

密码:bean

单击左窗格中的“登录”。将显示 Mercury Tours 的欢迎页。

 4 预订航班。

单击左窗格中的“flight”。将打开“查找航班”页。将目的地更改为洛杉矶。单击“继续”。

 5 结束您的 Mercury Tours 会话。

单击 “注销”进行注销。

2. LoadRunner 的功能

为了说明 LoadRunner 的功能,将针对最多支持 10 个并发用户的数据库应用程序运行和分析负载测试。该测试将模拟旅行代理同时使用航班预订系统 (例如登录、搜索航班、购买机票、查看路线和注销)。

测试过程中,您将使用 LoadRunner 的联机监控器观察 Web 服务器在负载下的行为。尤其是您可以看到负载的增加将如何影响服务器对用户操作的响应时间(事务响应时间)以及如何导致错误。

看完如何使用 LoadRunner 在系统上生成负载并度量系统对该负载的响应度之后,您将学会如何使用 LoadRunner 组件 VuGen、Controller 和 Analysis 创建并运行您自己的测试,以及分析测试结果。

2.1 创建负载测试

Controller 是用来创建、管理和监控测试的中央控制台。使用 Controller 可以

运行用来模拟实际用户执行的操作的示例脚本,并可以通过让多个虚拟用户同时

执行这些操作来在系统中创建负载。

 1 打开“Mercury LoadRunner”窗口。

选择“开始”>“程序”>“Mercury LoadRunner”>“LoadRunner”。将 打

开“Mercury LoadRunner Launcher”窗口。

2 Controller

在 “Load Testing选项卡中 Run Load Tests情况下, LoadRunner Controller 开时将显New Scenario对话框。

单击 “取消”。

3 打开示例测试。

从 Controller 菜单中选择 “File” > “Open”,并打开 C:\Program Files\Mercury\LoadRunner\tutorial目录中的 demo_scenario.lrs。

将打开 LoadRunner Controller 的 “Design”选项卡, demo_script 测试将出现 在 “Scenario Group”窗格中。您可以看到已分配 10 个 Vuser 运行测试。

2.2 运行负载测试

 

  单击 “Start Scenario”按钮 。将显示 Controller 运行视图, Controller 将开始运行场景。

在 “Scenario Group”窗格中,可以看到 Vuser 逐渐开始运行并在系统上生成负载。可以在联机图上看到服务器对 Vuser 操作的响应度。

 

2.3 监控负载测试

创建应用程序中的负载的同时,您希望了解应用程序的实时执行情况以及可能存 在瓶颈的位置。使用 LoadRunner 的集成监控器套件可以度量负载测试期间每个 单一层、服务器和系统组件的性能。 LoadRunner 包括用于各种主要后端系统组 件 (其中包括 Web、应用程序、网络、数据库和 ERP/CRM 服务器)的监控器

2.4 分析结果

测试运行结束时, LoadRunner 将提供一个深入分析部分,此部分由详细的图和报告组成。您可以将多个场景中的结果组合在一起来比较多个图。您也可以使用自动关联工具将所有包含能够对响应时间产生影响的数据的图合并,并确定出现问题的原因。使用这些图和报告,可以容易地识别应用程序中的瓶颈,并确定需要对系统进行哪些更改来提高系统性能。

通过选择 “Results” > “Analysis Results”或单击 “分析结果”按钮,可以打开带有场景结果的 Analysis 。结果保存在<LoadRunner 安装>\Results\tutorial_demo_res 目录下。

3.生成脚本

要创建负载,需要首先生成模拟实际用户行为的自动脚本。

3.1 虚拟用户生成器 (VuGen) 简介

在测试环境中, LoadRunner 会在物理计算机上用虚拟用户 (即 Vuser)代替实 际用户。 Vuser 通过以可重复、可预测的方式模拟典型用户的操作,在系统上创建负载。

LoadRunner 虚拟用户生成器 (VuGen) 采用录制并播放机制。当您在应用程序中 按照业务流程操作时, VuGen 将这些操作录制到自动脚本中,以便作为负载测 试的基础。

3.2 如何开始录制用户活动

要开始录制用户操作,请打开 VuGen 并创建一个空白脚本。通过录制事件和添加手动增强内容来填充空白脚本。

1 启动 LoadRunner。

选择 “开始” > “程序” > “Mercury LoadRunner” > “LoadRunner”。将打开“Mercury LoadRunner Launcher”窗口。

 

2 打开 VuGen。

在 Launcher 窗口中,单击 “负载测试”选项卡

单击 “Creat / Edit Scripts”。将打开 VuGen 的开始页 。

3 创建一个空白 Web  脚本

在 VuGen 开始页的 “Scripts”选项卡中,单击 “New Vuser Scripts”

将打开 “新建虚拟用户”对话框,其中显示用于新建单协议脚本的选项。

 

 

协议是客户端用来与系统后端进行通信的语言。 Mercury Tours  是基于 Web 的 应用程序,因此您将创建一个 Web 虚拟用户脚本。

确保 “类别”类型为 “所有协议”。 VuGen 将显示所有可用于单协议脚本的协 议列表。向下滚动该列表,选择 “Web (HTTP/HTML)”并单击  “确定”创建 一个空白 Web 脚本。

 

 

使用 VuGen 向导模式

     打开 VuGen 的向导时将出现空白脚本,并且该向导的左侧将显示任务窗格。

(如果任务窗格没有显示,请单击工具栏上的 “Tasks”按钮)

VuGen 向导将指示您逐步创建脚本并根据所需的测试环境编辑此脚本。 任务窗格列出了脚本创建过程中的每个步骤或任务。在您执行每个步骤时,

VuGen 将在该窗口的主区域中显示详细的说明和规则。

可以自定义 VuGen 窗口显示或隐藏各种工具栏。要显示或隐藏工具栏,请选择 “视图” > “工具栏”并切换所需工具栏旁边的复选标记。

通过打开任务窗格并单击其中一个任务步骤可以在任何阶段返回 VuGen 向导。

3.3 如何录制业务流程以创建脚本

创建用户模拟的下一步是录制实际用户执行的事件。在前一部分中,您创建了一 个空白 Web 脚本。现在可以开始将事件直接录制到脚本中。在此部分中,将跟 踪一位乘客预订从丹佛到洛杉矶的航班,然后查看航班路线事件。

要录制脚本,请执行下列操作:

1 在 Mercury Tours 网站上开始录制。 在任务窗格中,单击步骤 1 中的 “Recording Application” 单击说明窗格底部的 “Start Recording”。

 

 

 

也可以选择 “Vuser” > “开始录制”或单击页面顶部工具栏中的 “Start Record” 按钮

将打开 “开始录制”对话框。

在 “URL”地址框中,键入 http://localhost:1080/MercuryWebTours/。 在 “录制到操作”框中,选择 “Action”。单击 “确定”。设置如上图所示。

将打开一个新的 Web 浏览器,并显示 Mercury Tours  站点。

 

 

 

注意:如果打开站点时出现错误,请确保 Web 服务器运行。要启动服务器,请 选择 “开始” > “程序” > “Mercury LoadRunner” > “Samples” > “Web” > “启动 Web 服务器”。

将打开浮动录制工具栏。

2 登录到 Mercury Tours 网站。

在 “成员姓名”框中输入 jojo,在 “密码”框中输入 bean。单击 “登录”。将 打开欢迎页面。

3 输入航班详细信息。

单击 “航班”。将打开 “查找航班”页:

➤ 出发城市:丹佛 (默认设置)

➤ 出发日期:保持默认设置不变 (当前日期)

➤ 到达城市:洛杉矶(Los Angeles )

➤ 返回日期:保持默认设置不变 (第二天的日期)。

➤ 座位首选项:过道(Aisle)

保持其余的默认设置不变,然后单击 “Continue”。将打开 “搜索结果”页。

4 选择航班。

单击 “Continue”接受默认航班选择。将打开 “付费详细信息”页。

5 输入付费信息并预订航班。

在 “信用卡”框中输入 12345678,在 “输出日期”框中键入 06/06。单击 “继 续”。将打开 “发票”页,并显示您的发票。

6  查看路线。

单击左窗格中的 “Itinerary”。将打开“路线”页。

7  单击左窗格中的 “Sign off”。

8 在浮动工具栏上单击 “停止”停止录制过程。

生成 Vuser 脚本时,“代码生成”弹出窗口将打开。然后, VuGen 向导将自动继 续任务窗格中的下一步,并显示录制概要。(如果没有看到概要,请单击任务窗 格中的 “Recording Summary”)

注意:在录制过程中,不要使用浏览器的“后退”功能,LoadRunner支持不太好!

录制概要包括协议信息和会话执行期间创建的操作列表。

9  选择 “File” > “Save”,或单击 “保存”按钮。在 “文件名”框中键入 basic_tutorial,并单击 “保存”。 VuGen 将把该文件保存在 LoadRunner 脚本 文件夹中,并在标题栏中显示该测试名称。

3.4 如何查看脚本

现在您已经录制了旅行代理 (包括登录、预订航班和注销)。 VuGen 录制了从 单击 “开始录制”按钮到单击 “停止”按钮之间所执行的步骤。

现在您可以查看 VuGen 内的脚本。您可以在树视图或脚本视图中查看脚本。树视图是基于图标的视图,列出了作为步骤的 Vuser 操作;脚本视图是基于文本的 视图,列出了作为函数的 Vuser 操作。

树视图

  要在树视图中查看脚本,请选择 “View” > “树视图”或单击 “树视图”按钮。 要跨整个窗口查看树视图,请单击 任务”按钮删除任务窗格。

 

对于录制期间所执行的每一步骤, VuGen 都在测试树中生成一个图标和一个标题。在树视图中,将看到作为脚本步骤的用户操作。

单击测试树中任一步骤旁边的加号 (+)。现在,可以看到预订航班时所录制的思 考时间。思考时间表示在各步骤之间所等待的实际时间,可以用于模拟负载下的快速和缓慢用户行为。思考时间是一种机制,通过它可以使负载测试更准确地反映实际用户的行为。

脚本视图

脚本视图是一种基于文本的视图,列出了作为 API 函数的 Vuser 操作。要在脚本     视图中查看脚本,请选择 “视图(View)” > “脚本视图”或单击 “脚本视图(Script)”按钮。

在脚本视图中, VuGen 将在编辑器中显示带有彩色编码的函数及其变量值的脚本。可以看到脚本主要包括vuser_init、vuser_end和Action三部分。

4. 播放脚本

4.1 基本设置

通过录制一组典型的用户操作 (例如预定航班),已创建了实际用户仿真。将脚 本集成到负载测试场景中之前,回放已录制的脚本以验证其是否正常运行。回放期间,可以在浏览器中查看操作并查看是否一切按照预期进行。

运行时设置分为常规运行时设置和特定于某类 Vuser 的运行时设置。例如,对于 Web 仿真,可以指示 Vuser 在 Netscape 中而不是 Internet Explorer 中回放脚本。下面讨论适用于所有类型脚本的常规运行时设置。它们包括:

➤ 运行逻辑:重复次数

➤ 步:重复之间的等待时间

➤ 思考时间:步骤之间用户停止以思考的时间。

➤ 日志:播放期间要收集的信息级别。

1 打开 “运行时设置”。

确保显示 “任务(Task)”窗格 (如果未单击 “任务”按钮)。在 “任务”窗格中单击 “验证回放(Verify Reply)”。

在说明窗格中的标题“Vuser”下单击“运行时设置(Run_time Settings)”。

            还可以按 F4 键或单击工具栏中的 “运行时设置”按钮 。将打开 “运行时设置” 对话框

 

2 打开 “运行逻辑”设置。Run Logic

选择 “运行逻辑”节点。

 

 

在此节点中,可以设置迭代的次数,或连续运行过程中重复活动的次数。将迭代次数设置为 2。

3 设置 “步”设置。Pacing

选择 “步”节点。

 

通过此节点可以控制迭代之间的时间。可以将此时间指定为随机时间。这将准确模拟用户在操作之间等待的实际时间设置,但在随机时间间隔下,您看不到实际用户在重复操作之间等待恰好为 60 秒的情况。

选择第三个选项并选择下列选项:

选择 60.00 到 90.00 秒之间的随机时间间隔。

4 设置 “日志”设置。Log

选择 “日志”节点。

 “日志”设置指示运行测试时要记录的信息详细级别。开发期间,出于调试目的,您可以选择启用某级别的日志记录,但验证脚本可以正常工作后,仅可以启用或禁用错误日志记录。

选择“扩展日志”并启用“参数替换”。

5 查看 “思考时间”设置。Think time

选择 “思考时间”节点。

请勿进行任何更改。您将通过 Controller 设置思考时间。请记住,在 VuGen 中 运行脚本时,由于脚本不包括思考时间,因此脚本将快速运行。

6 单击 “确定”关闭 “运行时设置”对话框。

4.2 如何实时查看脚本的运行

播放录制的脚本时, VuGen 的运行时查看器功能将实时显示 Vuser 活动。

1 依次选择 “工具”Tools > “常规选项”General Option,然后选择 “显示”Display选项卡。

2 选择 “在回放期间显示浏览器”和 “自动排列窗口”选项。清除 “在脚本执行 结束时显示报告”选项。

3 单击 “确定”关闭 “常规选项”。

4 单击 “任务”窗格中的 “验证回放Verify Replay”,然后单击说明窗格底部的 “开始回放” 按钮。还可以按 F5 键或单击工具栏中的“运行”按钮 。

5  如果打开 “选择结果目录”对话框并询问您要将结果存储于何处,则接受默认名称并单击 “确定”

一小段时间之后, VuGen 将打开运行时查看器,并开始运行脚本视图或树视图中的脚本 (取决于您上次打开的脚本)。在运行时查看器中,可以直观地观察 Vuser 的操作。注意回放是如何准确地播放录制期间执行的步骤。

4.3 何处可以查看有关回放的信息

脚本停止运行时,可以在向导中查看回放概要。Replay Summary

点击Verification中的Visual test results观看结果。

 

“Test Results”窗口第一次打开时,它包含两个窗格:“树”窗格(位于左侧)和“概要”窗格(位于右侧)。

“树”窗格中包含结果树。每个迭代都进行了编号。“概要”窗格中包含测试的详细信息。

上面的表显示完成的和失败的迭代。如果VuGen的Vuser根据原始录制成功地导航站点,则认为通过测试。

下面的表显示事务和检查点是通过了还是失败了。

还可以通过点击工具栏中“output windows”

页面显示如下回放日志:

 

 

5. 完善测试脚本

当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本的灵活性。一般情况下,我们通过以下方法来完善测试脚本。

5.1 插入事务

  事务(Transaction):为了衡量服务器的性能,我们需要定义事务。比如:我们在脚本

中有一个数据查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个

事务,这样在运行测试脚本时,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开

始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映

可以在脚本中的任意位置手动插入事务。将用户步骤标记为事务的方法是在事务的第一个步骤之前放置一个开始事务标记并在最后步骤之后放置一个结束事务标记。

 插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner 运行在脚本中插入不限数量的事务。

  具体的操作方法如下:在需要定义事务的操作前面,通过菜单或者工具栏插入。

1 打开事务创建向导

确保显示任务窗格 (如果没有,请单击 “任务”按钮)。在任务窗格的增强功能 标题下,单击 “事务”。将打开事务创建向导。事务创建向导显示脚本中不同步骤的缩略图。

 

单击 “新建事务”New Transaction按钮。现在可以将事务标记拖放到脚本中对应的指定点。向导 现在提示您插入事务的起点。

2 插入一个开始事务标记和一个结束事务标记

使用鼠标,将标记放到第三个名为 Search flights button 的缩略图之前并单击。 向导现在提示您插入终点。

使用鼠标,将标记放到第五个名为 reservations.pl_2 的缩略图之后并单击。

3 指定事务名称

向导将提示您输入事务的名称。键入 find_confirm_flight 并按 ENTER 键。 现在已创建了一个新的事务。可以通过将标记拖到脚本中的不同点来调整事务的起点和终点。也可以通过单击开始事务标记上方的现有名称并键入新的名称来重命名事务。

4 在树视图中观察事务

  通过选择 “视图” > “树视图”或单击工具栏上的 “树视图”按钮进入树视图 请注意开始事务标记和结束事务标记现在是如何作为新步骤添加到树中,并且插入到它们的准确点。

 

5. 还可以录制时设置Transaction的动作

方法在是某个需要设置Transaction的动作前设置事务的起始点,例如录制一个登录邮箱的动作,在首页点了几个链接后,登录前填好用户名和密码,在点击“登录”按钮之前设置事务起始点“Login”,在点击登录后,邮箱完全显示后,再设置事务结束点“Login”,这样一个Login的事务

就设置完成了。一个脚本中可以有多个事务,事务可以嵌套。

 

6. 录制完成后,点击stop按钮,即上图中左数第3个按钮,可以结束脚本的录制,接着可以存盘。

5.2 如何模拟多个用户

在模拟中,跟踪一位预订航班并选择过道座位的用户。但是,在实际生活中,不同的用户会有不同的喜好。因此,要改进测试,需要检查当用户选择不同座位首选项(过道、窗口或无)时,预订是否可以正常工作。

要达到此目的,需要参数化脚本。这表示您将取录制值 Aisle,并用参数替换它。您将把参数值放到一个参数文件中。运行脚本时, Vuser 将从参数文件中取值

(aisle、 window 或 none),从而模拟真实的旅行代理环境。

要参数化脚本,请执行下列操作:

1 找到要更改数据的部分。

选择 “视图” > “树视图”进入树视图

 

在测试树中,双击 “提交数据:reservations.pl”步骤。将打开 “提交数据步骤 属性”对话框。

 

右列中的 ABC 图标表示参数为常量。

2 指明固定值将为不同值。

将第七行的 seatPref 值选为 Aisle。

单击 Aisle 旁边的 ABC 图标。将打开 “选择或创建参数”对话框。

3 创建参数。

使用文件参数类型指定参数“seat”。单击 “确定”。 VuGen 将使用参数图标替           换 ABC 图标。

4  单击 {seat} 旁边的参数图标。从弹出菜单中选择 “参数属性”。将打开 “参数属性”对话框。

 

5 指定一些示例值以更改数据。

单击 “添加行”Add Row。

VuGen 将向表中添加行。用 Window 替换文字 Value。

 单击 “添加行”。 VuGen 将向表中添加行。用 None 替换文字 Value。

注意,值不区分大小写。

保持对话框的其他部分中的默认设置。

 

6 定义测试更改数据的方式。

保持用于指示 VuGen 为每次迭代取顺序值而不取随机值的默认设置。

选择下一行:顺序

更新值的时间:每次迭代

7 单击 “关闭”关闭 “参数属性”对话框,然后单击 “确定”关闭 “步骤属性” 对话框。

现在已为座位首选项创建了参数。运行负载测试时, Vuser 将使用参数值,而不 使用录制值 Aisle。

运行脚本时,回放日志将显示每次迭代时发生的参数替换。您将看到,对于第一 次迭代, Vuser 选择 Aisle ;对于第二次迭代, Vuser 选择 Window。

5.3 插入集合点

  插入集合点是为了衡量在加重负载的情况下服务器的性能情况。在测试计划中,可能会要求系统能够承受 1000 人同时提交数据,在 LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000人,LoadRunner 就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000人时,LoadRunner 命令1000人同时去提交数据,从而达到测试计划中的需求。例如在录制邮箱登录测试脚本时,可以在登录之前插入一个集合点,测试多个人同时登录这一事件。

  注意:集合点经常和事务结合起来使用。集合点只能插入到 Action 部分,vuser_init

和 vuser_end中不能插入集合点。

  具体的操作方法如下:在需要插入集合点的前面,通过菜单或者工具栏操作

 出现对话框

输入该集合点的名称。注意:集合点的名称最好要有意义,能够清楚的说明该集合点完

成的动作。

6. 创建负载测试场景

6.1 LoadRunner Controller 简介

负载测试指在典型的工作条件下测试应用程序,例如,多个旅行代理同时在相同的航班预订系统中预订航班。

测试用于模拟真实情况。为此,需要能够在应用程序上生成较重负载并计划应用负载的时间 (因为用户不会正好在同一时间登录或注销)。还需要模拟各种不同的用户活动和行为。例如,某些用户可能使用Netscape (而不是 Internet Explorer)来查看应用程序的性能,并且可能使用了不同的网络连接(例如,调 制解调器、 DSL 或电缆)。您可以在场景中创建并保存这些设置。

Controller 可以提供所有您需要的有助于创建并运行测试的工具,以准确地模拟您的工作环境。

场景目标。目标是创建一个场景,用来模拟十个旅行代理同时登录系统、搜索航班、购买机票、查看路线和注销系统的行为。

6.2 启动 Controller

要开始创建场景,请打开 Controller 并创建一个新的场景。

1 打开 Mercury LoadRunner。

选择 “开始” > “程序” > “Mercury LoadRunner” > “LoadRunner”。将打 开 “Mercury LoadRunner Launcher”窗口。

2 打开 Controller。

在 “负载测试Load Testing”选项卡中,单击“运行负载测试Run Load Test”。将打开 LoadRunner Controller。

默认情况下, Controller 打开时将显示 “新建场景New Scenario”对话框。

 

3 选择场景类型。

选择 “手动场景Manual Scenario”。

通过手动场景,可以控制正在运行的 Vuser 数量及其运行的时间,还可以测试应用程序可以同时运行的 Vuser 数。您可以使用百分比模式根据业务分析员指定的百分比在脚本间分配全部的 Vuser。

面向目标的场景用于确定系统是否可以达到特定的目标。由您确定基于的目标, 例如,指定的事务响应时间或每秒点击次数 / 事务数,并且 LoadRunner 将根据这些目标自动为您创建场景。

6.3 负载测试应该由哪些用户组合而成?

在本教程中,您将仅使用一个 Vuser 脚本来模拟单个执行同样操作的用户组。要模拟具有更多种用户配置文件的真实场景,需要创建运行多个具有不同用户设置的脚本的不同组。

您以前在 VuGen 中录制的脚本包含要测试的业务流程。它们包括登录、搜索航 班、购买机票、查看航班路线,以及注销站点。您将向场景中添加相似的脚本,配置场景,以模拟多个旅行代理同时在航班预订系统中执行这些操作。

1 向负载测试中添加脚本。

单击 “浏览Browse”按钮,导航到 <LoadRunner 安装 >\Tutorial 目录中的basic_script。单击“Add”添加到该场景中。

单击 “OK”。 LoadRunner Controller 的 “设计”选项卡中将显示您的场景。

2 开始设计负载测试场景。

查看 basic_script 是否显示在 “场景组”窗口的 “组名”列中。

3 更改组名以及 Vuser 数。

单击 “详细信息Details”按钮 。将打开“组信息Group Information”对话框。

在 “组名”框中,输入一个更有意义的名称,例如 travel_agent。

在“Vuser 数量”框中,输入 8。这是将在 Localhost 负载生成器中运行的 Vuser

数。

单击 “确定”。该场景设置将显示在 Controller 窗口中。

6.4 Controller 窗口概述

Controller 窗口的 “设计”选项卡包含两个主要部分:

➤ 场景计划

➤ 场景组

 

场景计划:在 “场景计划”部分中,您可以设置负载行为以精确地描绘用户行为。您还可以确定将负载应用于应用程序的速率、负载测试持续时间以及如何停止负载。

场景组:您可以在“场景组”部分中配置 Vuser 组。在此部分中,您可以创建代表系统典型用户的各种组。您可以定义这些典型用户运行的操作、运行的 Vuser 数以及 Vuser 运行时所用的计算机。

6.5 如何生成较重负载

添加完脚本并且定义完要在场景中运行的 Vuser 数之后,可以配置负载生成器计算机。

负载生成器是通过运行 Vuser 在应用程序中创建负载的计算机。您可以使用多台负载生成器计算机,并在每台计算机上创建多个虚拟用户。

1 添加负载生成器。

      单击 “生成器Generators”按钮。将打开“负载生成器”对话框,显示 localhost 负载生成器计算机的详细信息。

在本教程中,您将使用您的本地计算机作为负载生成器 (默认情况下包含在场景中)。 localhost 负载生成器的状态为关闭。这表示 Controller 未连接到负载生 成器。

注意:在典型的生产系统中,可能有几台负载生成器计算机,每个包含多个 Vuser。可以通过单击 “负载生成器”对话框中的 “添加”按钮并在 “添加新负载生成器”对话框中输入计算机名和平台类型来添加其他计算机。

2 测试负载生成器连接。

运行场景时, Controller 将自动连接到负载生成器。但是,您可以在尝试运行场景之前对连接进行测试。

选择 localhost 负载生成器并单击“连接”。

Controller 将尝试连接到负载生成器计算机。连接完成后,状态将从关闭更改为就绪。

单击“关闭”。

6.6 如何模拟实际的负载行为

添加负载生成器计算机之后,就可以配置负载行为。 典型的用户不会正好在同一时间登录和注销系统。 LoadRunner 允许用户逐渐登

录系统和从系统注销。它还允许您确定负载测试的持续时间以及停止场景的方式。

您现在可以使用 Controller 计划生成器更改默认的负载设置。

1 更改场景计划默认设置。    单击 “编辑计划”按钮将打开“计划生成器”。

 

2 指定逐渐启动。

定期启动 Vuser 允许您检查站点上 Vuser 负载随时间逐渐增加,并可以帮助您确定系统响应时间减慢的准确时间点。

在 “加压Ramp up”选项卡中,将设置更改为:“每 30 秒启动 2 个 Vuser”。

 

3 初始化 Vuser。

初始化表示为负载测试的运行准备 Vuser 和负载生成器。加压前初始化 Vuser 可以减少 CPU 消耗并有助于提供更加真实的结果。

选择“运行之前初始化所有的 Vuser”。

4 计划持续时间。

您可以指定持续时间,以确保 Vuser 在特定的持续时间内连续执行业务流程,从 而可以度量服务器上的连续负载。注意,如果设置了持续时间,测试将运行该持 续时间内必需实现的迭代次数,而不管测试的运行时设置中设置的迭代次数。

在 “持续时间Duration”选项卡中,将设置更改为:“在加压完成之后运行 10 分钟”。

5 计划逐渐关闭。

建议逐渐停止 Vuser,这样有助于在应用程序达到阈值之后检测内存漏洞和检查系统恢复。

在“减压”选项卡中,将设置更改为:“每 30 秒停止 2 个 Vuser”。

 

6 查看计划程序的图形表示。

负载预览图显示您定义的场景配置文件的加压、持续时间和减压。

单击 “确定”。

6.7 如何监控负载下的系统

现在您已定义了 Vuser 在测试期间的行为方式,接下来便可以设置监控器了。

每个单一层、服务器和系统组件的性能。 LoadRunner 包括用于各种主要后端系统组件 (其中包括 Web、应用程序、数据库和 ERP/CRM 服务器)的监控器。

例如,您可以根据正在运行的 Web 服务器类型选择 Web 服务器资源监控器。您可以为相关监控器购买许可证,例如 IIS,然后使用该监控器确定 IIS 资源中反映 的问题。

在本部分中,您将了解如何添加和配置 Windows 资源监控器。您可以使用该监控器确定负载对 CPU、磁盘和内存资源的影响。

1 选择 Windows 资源监控器。

单击 Controller 窗口中的 “运行”选项卡以打开运行视图。(左下角)

Windows 资源图是显示在图查看区域的四种默认图之一。

右键单击该 “Windows 资源图”Windows Resoures并选择 “添加度量Add Measurements”。将打开“Windows 资源”对话框。

2 选择监控的服务器。

在 “Windows 资源”对话框的 “监控的服务器计算机”部分中,单击 “添加”。将打开 “添加计算机”对话框。

在 “名称”框中键入 localhost。(如果您的负载生成器在不同的计算机上运行, 则键入该计算机的服务器名或 IP 地址。)在 “平台”框中,输入计算机运行的平台。单击 “确定”。

默认的 Windows 资源度量显示在 “< 服务器计算机 > 上的资源度量”窗格中。

3 激活监控器。

在 “Windows 资源”对话框中,单击 “确定”以激活监控器。

 

6.8 如何模拟不同类型的用户

现在已配置完负载行为,您将需要指定 Vuser 在测试期间的行为方式。 模拟实际用户时,需要考虑用户的实际行为。行为涉及用户在各操作之间暂停的时间、重复某个操作的次数等。

在本部分中,您将进一步了解有关 LoadRunner 的运行时设置的内容,并且将启用思考时间和日志记录。

1 打开 “运行时设置”Run-time settings。

在 “设计”选项卡中,选择脚本并单击“运行时设置”按钮 。将显示运行时设置。

运行时设置可以使您模拟各种用户活动和行为。它们包括:

➤ 运行逻辑:用户重复一组操作的次数

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

➤ 日志:您希望在测试期间收集的信息级别

建议首次运行场景时生成日志消息,以确保在首次运行失败时有调试信息可用。

➤ 思考时间:用户在各步骤之间停下来进行思考的时间 由于用户基于其经验水平和目标而与应用程序进行交互操作,因此技术水平更高的用户工作起来可能会比新用户要快。通过启用思考时间,可以使 Vuser在负载测试期间更准确地模拟其对应的真实世界用户。

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

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

➤ 内容检查:用于自动检测用户定义的错误 假设发生错误时应用程序发送了一个自定义页面。该自定义页面始终包含文字“ASP 错误”。您需要搜索所有由服务器返回的页面并查看文本“ASP 错误”是否出现。您可以使用内容检查运行时设置将 LoadRunner 设置为在测试运行期间自动 查找该文本。 LoadRunner 将搜索该文本并在检测到时生成错误。在场景运行期间,您可以清楚地确定内容检查错误。

 

2 启用思考时间。

选择 “常规 : 思考时间General Think time”节点。选择“回放思考时间”,然后选择 “使用录制思考时间的随机百分比”选项。指定最小值为 50%,最大值为  150%。

录制思考时间的随机百分比用于模拟熟练程度不同的用户。例如,如果选择航班的录制思考时间为 4 秒,则随机思考时间可以为 2 至 6 秒间的任意值 (4 秒的50%到150%)。

3 启用日志记录。

选择 “常规 : 日志Log”节点,然后选择 “启用日志记录”。在日志选项中,选择 “始终发送消息”。选择“扩展日志”,然后选择“服务器返回的数据”。

注意:初始调试运行之后,建议不要对负载测试使用扩展日志记录。本教程启用它的目的只是为了提供 Vuser 输出日志的信息。

单击 “确定”关闭运行时设置。

 

7.运行负载测试

运行测试时, LoadRunner 将创建应用程序上的负载。然后,可以使用LoadRunner 的监控器和图观察真实情况下的应用程序性能。

7.1 Controller 运行视图概述

Controller 窗口中的 “运行”选项卡是用来管理和监控测试的控制中心。“运行”视图包含五个主要部分:

➤ 场景组

➤ 场景状态

➤ 可用图树

➤ 图查看区域

➤ 图例

场景组:位于左上窗格中,使您可以查看场景组中的 Vuser 的状态。使用该窗格右侧的按钮可以启动、停止和重置场景,查看单个 Vuser 的状态,并且可以手动 添加更多的 Vuser,从而增加场景运行期间应用程序上的负载。

场景状态:位于右上窗格中,使您可以查看负载测试的概要,其中包括正在运行的 Vuser 数以及每个 Vuser 操作的状态。

可用图树:位于中部左侧窗格中,使您可以查看 LoadRunner 图列表。要打开图,请在该树中选择一个图,然后将其拖动到图查看区域中。

图查看区域:位于中部右侧窗格中,使您可以自定义显示以查看一至八个图

(“视图” > “查看图”)。

图例:位于底部窗格中,使您可以查看选定图中的数据。

7.2 如何运行负载测试场景

在本部分中,您将启动场景。

1 打开 Controller 运行视图。

选择位于屏幕底部的 “运行Run”选项卡。

注意,在 “场景组”区域的 “关闭”列中有 8 个 Vuser。这些是创建场景时所创建的 Vuser。

由于场景尚未运行,所有其他计数器仍保持为零,并且图查看区域中的所有图

(除了 Windows 资源)均为空白。在下一步中启动场景后,图和计数器将开始显示信息。

2 启动场景。

  单击 “启动场景”按钮  或选择 “Scenario” > “Start”开始运行测试。如果您第一次运行, Controller 将启动场景。结果文件自动保存到负载生成器的临时目录中。

如果要重复此测试,将提示您覆盖现有结果文件。单击 “否”,这是因为第一次负载测试的结果应该用作基准结果以与后续负载测试结果进行比较。

将打开 “设置结果目录”对话框

指定新的结果目录。对每个结果集输入唯一且有意义的名称,这是因为在分析图 时,可能希望重叠几个场景运行的结果。

7.3 如何监控负载下的应用程序

可以使用 Controller 的联机图查看监控器收集的性能数据。通过该信息,您可以 隔离系统环境中可能存在问题的区域。

1 检查性能图。

“运行”选项卡将显示下列默认联机图:

正在运行的 Vuser—整个场景图(Running Vusers——whole Scenario),显示指定时间正在运行的 Vuser 数。

事务响应时间 — 整个场景图(Trans Response time-whole scenario),显示完成每个事务所需的时间。

每秒点击次数 — 整个场景图(Hits per second-whole scenario),显示场景运行的每一秒内 Vuser 在 Web 服务器上 的点击次数 (HTTP 请求数)。

Windows 资源图(windows resources),显示场景运行期间度量的 Windows 资源。

 

2 突出显示单个度量。

双击 Windows 资源图窗格可以将其放大。注意,每个度量显示在图例的彩色编码行中。每行都与图中相同颜色的线条相对应。

选择一行,图中的相应线条将突出显示,反之亦然。再次双击图可以将其缩小。

3 查看吞吐量信息。

在可用图树中选择吞吐量图并将其拖入图查看区域。吞吐量图度量显示在显示窗口和图例中。(窗口左边)

吞吐量图显示 Vuser 在任何给定的某一秒上从服务器接收到的数据量(度量单位 是字节)。可将此图与事务响应时间图进行比较,以查看吞吐量对事务性能产生的影响。

7.4 如何以实时方式监控正在运行的用户

模拟用户时,应该能够以实时方式查看用户的操作,并确保其执行正确的步骤。 通过 Controller,可以使用运行时查看器以实时方式查看操作。

要直观地观察 Vuser  的操作,请执行下列操作:

  1 单击 “Vuser”按钮 。将打开 Vuser 窗口。

7.5 如何知道测试已完成运行

测试运行结束时,“场景状态”窗口将显示 “关闭”状态。这表示 Vuser 已停止 运行。

可以在 “Vuser”窗口中查看单个 Vuser 的状态。 LoadRunner 将显示 Vuser 重 复执行某个任务的次数 (迭代数)、成功迭代的次数以及已用时间。

 

8. 分析场景结果

在 Analysis 会话过程中生成的图和报告提供了有关系统性能的重要信息。使用这些图和报告,可以轻松地标识和确定应用程序中的瓶颈以及提高系统性能所需的改进。

Analysis 会话的目的是查找系统的性能故障,然后确定这些故障的根源。

8.1 如何启动 Analysis 会话

1 打开 Mercury LoadRunner。

选择 “开始” > “程序” > “Mercury LoadRunner” > “LoadRunner”。将打开 “Mercury LoadRunner Launcher”窗口。

2 打开 LoadRunner Analysis。

在 “负载测试”选项卡中,单击 “分析负载测试”。将打开 LoadRunner Analysis。

3 打开 Analysis 会话文件。

在 Analysis 窗口中,依次选择 “文件” >“打开”。将打开 “打开现有 Analysis会话文件”对话框。

在 <LoadRunner 安装目录 >\Tutorial 文件夹中,选择 analysis_session 并单击 “打开”。

Analysis 将在 Analysis 窗口中打开该会话文件。

8.2 Analysis 窗口概述

Analysis 窗口包括下列三个主要部分:

➤ 图树

➤ 图查看区域

➤ 图例

图树:在左窗格中, Analysis 将显示可以打开查看的图。您可以在此处显示打开

Analysis 时未显示的新图,或删除您不再想查看的图。

图查看区域:Analysis 在此右窗格中显示图。默认情况下,当打开一个会话时,

Analysis 概要报告将显示在此区域。

图例:位于底部窗格中,使您可以查看选定图中的数据。 请在图查看区域查看 Analysis 概要报告。

 

可以通过点击该树图中相应的图表进行观察。如果想在一个图表中观察多条曲线,可以在一个图表中点击右键,选择Merge Graphs.

在Merge Graphs 窗口select graph to merge with中选择需要进行比较的曲线图名称,点击OK

增加新图。

单击工具栏上的Graph->Add New Graph,或者在图树中单击“New Graph”。

将打开“Open a New Graph”对话框,并列出包含数据并可显示的图的类别。

 

 

展开阅读全文

没有更多推荐了,返回首页