最后更新:2026-09-04 01:19
实验21 LoadRunner场景设计与运行¶
难度:★★☆ | 预估时长:__ 分钟
21.1 实验目的¶
- 知识目标:理解 Controller 的作用与两种场景类型(手动场景 / 面向目标场景);理解集合点三种释放策略与面向目标场景的运行原理。
- 技能目标:能完成手动场景 Global Schedule(Initialize / Start Vusers / Duration / Stop Vusers)与集合点策略设置;能设计并运行"添加岗位"性能测试场景,观察 Vuser 状态与服务器资源监控。
- 素养目标:养成"先设计负载模型再执行"的规范测试习惯,能按 Vuser 状态与监控数据判断场景运行是否正常。
21.2 实验环境¶
- 操作系统:Windows 10 / Windows 11;
- 工具:LoadRunner 12.55 Community(Controller);
- 被测系统:人力资源综合服务系统(
http://192.168.X.XXX/suthr/logon); - 前置:实验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:新建场景选择"手动场景"。手动场景包含两种模式:
- 用户组模式:一个 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,三种策略:
- Release when % of all Vusers at the rendezvous(全部用户百分比);
- Release when % of all running Vusers arrive(在线运行用户百分比);
- 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 的四种情况:
- 用最大用户数执行两次仍未达到目标;
- 负载机不够;
- 所有用户都运行失败;
- 增加几批 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 实验总结¶
本次实验掌握了以下要点:
- 一是理解了 Controller 的作用与两种场景类型(手动场景 / 面向目标场景)的区别(对应知识目标);
- 二是掌握了手动场景 Global Schedule 设置、集合点三种释放策略、面向目标场景五种目标类型及其运行原理(对应知识/技能目标);
- 三是能设计并运行"添加岗位"场景,通过 Vuser 状态、Scenario Status 与 Windows 资源监控判断场景运行情况(对应技能目标);
- 四是养成"先设计负载模型、边运行边看监控"的规范测试习惯(对应素养目标)。
21.6 作业提交¶
- 提交地点:吾爱作业网
- 提交资料:
- 手动场景 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 状态、资源监控 |
实验素材下载
点击下方链接获取本节课全部资源(含课件、任务清单、安装包等): 🔗 夸克网盘
