跳转至

最后更新:2026-09-04 01:19

实验21 LoadRunner场景设计与运行

难度:★★☆ | 预估时长:__ 分钟

21.1 实验目的

  • 知识目标:理解 Controller 的作用与两种场景类型(手动场景 / 面向目标场景);理解集合点三种释放策略与面向目标场景的运行原理。
  • 技能目标:能完成手动场景 Global Schedule(Initialize / Start Vusers / Duration / Stop Vusers)与集合点策略设置;能设计并运行"添加岗位"性能测试场景,观察 Vuser 状态与服务器资源监控。
  • 素养目标:养成"先设计负载模型再执行"的规范测试习惯,能按 Vuser 状态与监控数据判断场景运行是否正常。

21.2 实验环境

  1. 操作系统:Windows 10 / Windows 11;
  2. 工具:LoadRunner 12.55 Community(Controller);
  3. 被测系统:人力资源综合服务系统(http://192.168.X.XXX/suthr/logon);
  4. 前置:实验20 的"添加岗位"脚本。

21.3 实验重难点

重点:手动场景 Global Schedule(Initialize / Start Vusers / Duration / Stop Vusers);集合点策略三种释放方式;场景运行控制与 Vuser 状态。

难点:用户组模式 vs 百分比模式;面向目标场景五类目标的运行原理与"虚拟用户数不成倍增长"的原因;面向目标结果 Failed 的四种情况。

21.4 实验内容

21.4.1 认识 Controller 与场景

1. 任务描述 理解 Controller 及两种场景类型。

2. 实验步骤

  • 步骤 1:Controller 是 LoadRunner 的场景工具,用于创建和控制场景:控制模拟的用户数、这些用户执行的操作、以及用于运行模拟的计算机。

  • 步骤 2:Vuser 机制:Vuser 不操作客户端应用程序,直接通过 LoadRunner API 函数向服务器提交输入生成负载;无用户界面、系统资源极少,单工作站可运行大量 Vuser。

  • 步骤 3:两种场景:

    • 手动场景:自行设置虚拟用户的变化,模拟真实请求模型("定量型",一般在负载/压力测试中应用);
    • 面向目标场景:测试性能是否能达到预期目标(能力规划/能力验证常用)。

Controller 像什么?

Controller 就像剧组里的"总导演":脚本(实验20 写好的)是剧本,Vuser 是演员,Controller 负责安排多少个演员上场、什么时候上场、演什么、在哪儿演。

常见错误与排错

  • 若新建场景时找不到脚本:确认实验20 的"添加岗位"脚本已保存,且添加的是该脚本;
  • 若负载没有按预期加压:先检查场景类型选的是"手动场景"还是"面向目标场景",两者的负载由谁决定完全不同。

21.4.2 手动场景设计

1. 任务描述 掌握手动场景的两种模式与 Global Schedule。

2. 实验步骤

  • 步骤 1:新建场景选择"手动场景"。手动场景包含两种模式:

LoadRunner手动场景调度配置

图 21-1:LoadRunner手动场景调度配置
  • 用户组模式:一个 Script 就是一个 Group;
  • 百分比模式:按百分比分配虚拟用户。
  • 可相互切换:Scenario → Convert Scenario to the Percentage Mode / Vuser Group Mode。

  • 步骤 2:Scenario Groups 常用操作(从左到右):Start Scenario、Virtual Vusers(虚拟用户)、Add Group(添加脚本)、Remove Group、Runtime Settings、Details、View Script 等。

  • 步骤 3:Global Schedule 设置(用户组模式含 Scenario 与 Group 两级): | 项目 | 说明 | | --- | --- | | 场景开始时间 | Without delay 立即 / With a delay 延迟 / At 指定时间 | | Initialize | 通常选"Initialize each Vuser just before it runs"(运行前初始化) | | Start Vusers | Simultaneously 同时 / *** Vusers every *** 每隔一段时间启动若干 | | Duration | Run until completion 跑完 / Run for *** 持续指定时间 | | Stop Vusers | Simultaneously 同时停 / *** Vusers every *** 每隔一段时间停若干 |

  • 步骤 4:Interactive Schedule Graph:通过编辑场景曲线图(Edit Mode 添加/切割/删除 Action)设计负载曲线。

用户组模式和百分比模式怎么选?

用户组模式像"按班级点名"——每个脚本(Group)各管各的用户数;百分比模式像"按比例分蛋糕"——总共 100 个用户按百分比切给各脚本。想精确控制每个脚本的用量选前者,想按业务占比分配选后者。

常见错误与排错

  • 若设了 At(指定时间)开始,场景却不立即运行:这是正常现象,要么改回 Without delay(立即),要么等到指定时间;
  • 若负载曲线不符合设计:确认已进入 Edit Mode 编辑曲线,并检查 Start Vusers 的间隔与数量设置。

21.4.3 集合点策略

1. 任务描述 设置集合点的三种释放策略。

2. 实验步骤

  • 步骤 1:菜单 Scenario → Rendezvous 打开 Rendezvous Information(脚本无集合点则该菜单置灰)。

  • 步骤 2:对集合点设置 Policy,三种策略:

    1. Release when % of all Vusers at the rendezvous(全部用户百分比);
    2. Release when % of all running Vusers arrive(在线运行用户百分比);
    3. Release when Vusers arrive(到达指定数量)。
  • 步骤 3:理解区别:假设 100 用户、每 1 分钟加 10 个。策略百分比均 100% 时——策略 1 要等全部 100 个都到;策略 2 当前只有 10 人在线,则 10 个到齐就释放。

  • 步骤 4:超时:前后 Vuser 到达间隔可能很长,需指定超时时间,超时后不再等待迟到的用户,所有等待用户全部释放。

  • 步骤 5:可在多个脚本上设置相同集合点名称,实现多个脚本同时并发。

为什么集合点要设超时时间?

集合点像"约好在门口集合再一起进场"——如果有人迟迟不到,队伍就得一直等。设了超时时间,等于约定"最多等 X 分钟",到点没到齐也放行,避免大多数用户白白干等。

常见错误与排错

  • 若 Rendezvous 菜单是灰色的:说明脚本里没有插入集合点,需回实验20 在脚本中添加后再设置策略;
  • 若集合点释放时机不符合预期:核对 Policy 选的是三种策略中的哪一种(全部用户百分比 / 在线用户百分比 / 指定数量),三者等待范围不同。

21.4.4 面向目标场景设计

1. 任务描述 掌握面向目标场景的五种目标类型与运行原理。

2. 实验步骤

  • 步骤 1:面向目标场景先定义目标,LoadRunner 自动基于目标创建场景,运行中不断把结果与目标比较决定下一步。

  • 步骤 2:五种目标类型: | 目标类型 | 用途 / 原理 | | --- | --- | | Virtual Users | 测并发用户处理能力(递增到目标值) | | Hits per Second | 目标为每秒点击数,需设最大/最小虚拟用户数(点击率与 VU 数成正比) | | Transactions per Second | 目标为每秒事务数(脚本必须定义事务),用于衡量每秒业务笔数 | | Transaction Response Time | 目标为事务响应时间(想知道多少并发时响应时间到上限) | | Pages per Minute | 目标为每分钟处理页面数(一个事务一个页面时与 TPS 相同) |

  • 步骤 3:运行原理(以 Hits per Second 为例):先用最小虚拟用户数执行 → 判断是否达到目标 → 未达到则增加虚拟用户再判断 → 重复直到目标;用最大虚拟用户数仍达不到则停止并保存结果。

为什么虚拟用户数翻倍,TPS 不会翻倍?

虚拟用户增多 → 事务平均响应时间增加 → 相同时内每个用户处理的事务数变少,所以每秒处理事务数不可能成倍增长

  • 步骤 4:结果被置为 Failed 的四种情况:

    1. 用最大用户数执行两次仍未达到目标;
    2. 负载机不够;
    3. 所有用户都运行失败;
    4. 增加几批 Vuser 后目标值没有增加。
  • 步骤 5:关键设置:Run Time(达到目标后继续运行的时间)、If target cannot be reached(停止并保存 / 继续运行)、Load Behavior(Automatic 自动 / 指定时间达到目标 / 每隔一段时间增加目标量)。

常见错误与排错

  • 面向目标场景结果为 Failed 不一定是系统性能不行:负载机不够、所有用户运行失败、增加几批 Vuser 后目标值没有增加等情况都会判 Failed,要结合步骤 4 的四种情况逐一分析。

21.4.5 场景运行

1. 任务描述 掌握场景运行控制、Vuser 状态与资源监控。

2. 实验步骤

  • 步骤 1:场景设计界面左下角 Run 选项卡进入运行界面。

  • 步骤 2:场景控制操作:

    • Start Scenario:开始场景(初始化 Vuser 并分配到负载发生器);
    • Stop:停止场景;
    • Reset:把所有用户组重置为 Down 状态,准备下次执行;
    • Run/Stop Vusers:运行期间手动控制 Vuser 数量。
  • 步骤 3:Vuser 运行状态:Down(关闭)→ Pending(挂起)→ Init(初始化)→ Ready(就绪)→ Run(运行)→ Rendez(到集合点等待)→ Passed(通过)/ Failed(失败)/ Error(错误)→ Gradual Exiting / Exiting → Stopped。

  • 步骤 4:Scenario Status:Running Vusers、Elapsed Time、Hits/Second、Passed/Failed Transactions、Errors 等。

  • 步骤 5:Output 对话框(View → Show Output):查看 Vuser 和负载发生器发来的错误、通知、警告等消息。

  • 步骤 6:系统资源监控:把左侧 Windows Resources 拖到右侧监控窗口 → 右击 Add Measurements 添加被监控主机(Add Machine)→ 通过 Add/Delete 增减监控指标(CPU、内存等)。

为什么要监控 Windows Resources?

压测不能只看"跑没跑通",还要看服务器"累不累"——CPU、内存等资源指标就像人的心率血压,场景运行时同步监控,才能判断瓶颈出在哪台机器、哪种资源上。

常见错误与排错

  • 若场景跑完后无法再次运行:先点 Reset 把所有用户组重置为 Down 状态,再 Start Scenario;
  • 若看不到监控数据:确认已用 Add Machine 添加了被监控主机,并用 Add/Delete 勾选了要监控的指标。

21.4.6 实例:设计并运行"添加岗位"场景

1. 任务描述 新建场景、按表设计场景并运行。

2. 实验步骤

  • 步骤 1:新建场景,添加实验20 编辑完成的"添加岗位"脚本。

  • 步骤 2:按下表设计场景: | Vusers | Rendezvous | Start Vusers | Duration | Stop Vusers | | --- | --- | --- | --- | --- | | 20 | Release when 5 Vusers arrive at the rendezvous | 每 5 秒开始 5 个用户 | Run until completion | 无 |

  • 步骤 3:运行场景,观察 Vuser 状态、Scenario Status、事务情况与资源监控。

常见错误与排错

  • 若集合点释放不符合设计:核对策略是否选了 Release when 5 Vusers arrive(本例要求每 5 人到齐即释放);
  • 若 Vuser 不是每 5 秒启动 5 个:检查 Start Vusers 是否设置为"每隔 5 秒启动 5 个用户"。

21.5 实验总结

本次实验掌握了以下要点:

  1. 一是理解了 Controller 的作用与两种场景类型(手动场景 / 面向目标场景)的区别(对应知识目标);
  2. 二是掌握了手动场景 Global Schedule 设置、集合点三种释放策略、面向目标场景五种目标类型及其运行原理(对应知识/技能目标);
  3. 三是能设计并运行"添加岗位"场景,通过 Vuser 状态、Scenario Status 与 Windows 资源监控判断场景运行情况(对应技能目标);
  4. 四是养成"先设计负载模型、边运行边看监控"的规范测试习惯(对应素养目标)。

21.6 作业提交

  1. 提交地点:吾爱作业网
  2. 提交资料:
    • 手动场景 Global Schedule 设置截图;
    • 集合点策略设置截图;
    • 场景运行中 Scenario Status / 资源监控截图。
    • 不会做时填写"心得感悟"(1~50 字)。

21.7 知识检测

  • [ ] (填空)LoadRunner 中负责创建和控制场景的工具是 Controller
  • [ ] (填空)手动场景的两种模式是用户组模式和 百分比模式
  • [ ] (选择)集合点策略中"当前在线运行用户到齐指定百分比就释放"对应( )。
    • A. Release when % of all Vusers at the rendezvous B. Release when % of all running Vusers arrive C. Release when Vusers arrive
查看解析

正确答案:B。策略 2 按在线运行用户百分比释放;策略 1 按全部用户,策略 3 按到达指定数量。

  • [ ] (选择)以下哪项不属于面向目标场景的目标类型?( )
    • A. Hits per Second B. Transactions per Second C. Page Reads/sec D. Virtual Users
查看解析

正确答案:C。Page Reads/sec 是系统资源监控指标(内存分析用),面向目标场景的五类目标为 Virtual Users、Hits per Second、Transactions per Second、Transaction Response Time、Pages per Minute。

  • [ ] (填空)场景运行前,需把所有用户组重置为 Down 状态的操作是 Reset

本课相关资源

序号 资源名称 类型 说明
1 任务2.4.9 LoadRunner-场景设计.pptx 课件 Controller 概述、两种场景
2 任务2.4.10 LoadRunner-场景设计-手动场景设计.pptx 课件 Global Schedule、集合点、Load Generator
3 任务2.4.11 LoadRunner-场景设计-面向目标场景设计.pptx 课件 五种目标类型
4 任务2.4.12 LoadRunner-场景运行.pptx 课件 场景控制、Vuser 状态、资源监控

实验素材下载

点击下方链接获取本节课全部资源(含课件、任务清单、安装包等): 🔗 夸克网盘

本站总访问 次 | 访客 人 | 本页阅读