测试动态 / 测试知识 / 顶级软件性能测试工具LoadRunner实战图鉴:从Vugen到Analysis完整流程
顶级软件性能测试工具LoadRunner实战图鉴:从Vugen到Analysis完整流程
2026-04-28 作者:cwb 浏览次数:9

揭开LoadRunner三大组件-VuGen、Controller、Analysis的神秘面纱。


第一,VuGen (Virtual User Generator)

VuGen肩负着生成虚拟用户脚本的重任,能把用户在真实应用上的操作,翻译成性能测试能理解的代码。


新建和脚本录制

打开VuGen后,先是点击File -> New Script,并选择合适的协议 (Protocol)。对于绝大多数Web应用,选择Web (HTTP/HTML)协议即可。

进行录制设置,在Recording Options中建议勾选support charset utf-8以避免乱码,并选择URL-based script方式,能捕获更底层的请求。


参数化

基本公式是:数据驱动-更真实的压力。

在录制的脚本中,用户数据往往是写死的。参数化就是用变量来代替这些写死的数据,让每一次模拟都更接近真实用户的行为。具体操作是在脚本中选择要替换的值(如用户名“john”),右键点击并选择Replace with a Parameter,填入一个参数名(如p_Username)即可。接着在Parameter List中导入或编辑测试数据。


关联 

关联能处理动态的服务端数据。

使用web_reg_save_param函数,能从服务器响应中提取动态数据(如Token)。对于JSON格式的响应,web_reg_save_param_json函数是更简洁的选择。对于新手,也可以用VuGen的Design Studio功能,能自动分析并提供关联建议。


事务

事务是对脚本中操作(如“登录”或“提交订单”)进行计时的方法,能精确测量出在压力下,这些业务的耗时是不是在预期范围内。

录制完脚本后,可以在代码中添加lr_start_transaction("事务名");和lr_end_transaction("事务名", LR_AUTO);等函数,操作会被清晰地标记为一个可测量的事务。


脚本调试

VuGen也提供了一系列调试技巧:

观察日志:使用Replay Log,在运行设置中开启Extended Log,能输出完整的请求和响应内容,帮定位失败的请求。

分段执行:采用逐段注释。如果脚本较长,可以逐步注释掉部分代码,从登录开始,确定无误后再逐步放开,快速锁定问题范围。

模拟断点:通过条件语句(if)或lr_exit函数来中断脚本运行,模拟断点效果进行排查。

调试:回放失败时,确定动态参数(如 Session ID、Token)是不是被成功提取和替换,同时要留意 Replay Log 中的具体错误描述(如 500 错误、404 错误等),并结合服务器端的日志综合判断。

第二,Controller


创建场景

打开Controller,将面对两种不同类型:

Manual Scenario (手动场景):这种场景主要用于探索性测试、发现性能短板、或进行细致的负载配置。可以完全手动控制虚拟用户(Vuser)的数量、启动时间、脚本分配等几乎所有参数。

Goal-Oriented Scenario (面向目的的场景):这种场景主要用于容量规划、服务水平协议 (SLA) 证实等确定性测试。只需设定一个确定的测试目的,如事务响应时间不超过3秒或每秒完成100次点击,LoadRunner会自动尝试达到这个目的。


添加虚拟用户组

添加脚本和组:点击Add Group,从VuGen导出的脚本。可以为同一份脚本建立多个组(A/B/C),以便灵活控制。

分配:为每个组设定一个Quantity,比如登录组指派50名虚拟用户,浏览组指派100名。


设计执行计划

现在进入最重要的步骤:Scenario Schedule:

Start Vusers

Simultaneously:一次性全部启动,模拟突然涌入的流量高峰。

Ramp Up (逐步加压):模拟流量的真实增长过程,如每30秒增加X个用户,直到达到设定总量,这是最常用、最贴近真实业务场景的方式。

Duration :时间。

Stop Vusers :可以一次性停止或逐步停止。


 执行和监控

一切就绪,点击Start Scenario按钮。


过程中Controller会实时向你汇报片场情况。可以通过实时图表,清晰地看到Running Vusers(在线人数)的增减、Hits per Second(每秒请求数)吞吐量、Transaction Response Time(交易耗时)等的工作状态。


第三,Analysis


打开分析会话

在Controller中结束测试后,点击Results -> Analyze Results,或手动打开Analysis模块,通过File -> Open选择后缀为.lrr的结果文件。


一张图看懂标准

报告打开后会看到一系列图表,分析几个标准图表:

Running Vusers (虚拟用户活动情况图):证明负载是不是被正确执行,并作为控制变量,辅助分析其他标准的变化。

Transaction Response Time (事务平均响应时间图):测量用户体验的标准,展示完成一个事务(如登录、搜索)所需的平均时间。

Hits per Second (每秒点击数图):代表客户端向服务器发送的请求数量,是测量服务器吞吐量的标准,反映服务器处理请求的繁忙程度

Errors per Second (每秒错误数图):快速判断系统在测试期间是不是出现异常的标准。

Throughput (吞吐量):表示服务器在单位时间内返回给客户端的数据总量(以字节为单位),和Hits per Second一般呈正相关。

System Resources (系统资源图):通过监控CPU、内存、磁盘I/O等数据,准确定位短板是在数据库、Web服务器还是应用服务器方面,对于决定资源短板非常重要。


图表综合分析

了解单个图表后通过综合分析来挖掘根本原因,找到真正的性能短板。这正是性能测试的作用所在。


响应时间和用户并发量:将Running Vusers图和Transaction Response Time图叠加是最常用的分析方法。如果随着用户数增长,响应时间始终平稳,说明系统有良好的伸缩性和稳定容量;但当用户数达到某个临界点后,响应时间突然急剧攀升,那么这个转折点就是系统的性能拐点-需要分析资源短板。此分析完全依赖LoadRunner Analysis自带的合并图功能即可实现,无需第三方工具。

响应时间和吞吐量:合并Hits per Second和Transaction Response Time图。如果随着请求吞吐量增加,响应时间也随之增加,说明系统已接近处理极限,处理能力不足以应对当前的请求压力。

错误率和响应时间:如果响应时间飙升的同时错误率也在急剧增加,这一般是系统已崩溃或达到了不可接受的状态。反过来,如果错误率增加但响应时间并没有显著变化,可能提示网络连接或防火墙等外部问题已切断了部分连接。

定位资源短板:结合服务器端监控的CPU、内存、磁盘I/O等资源图。如果响应时间增加的同时CPU使用率也达到100%,很明显CPU就是性能短板;反之说明短板在数据库查询慢、网络带宽、代码效率等其他方面。Analysis自带的功能通过监控Windows或Unix资源计数器即可进行分析。


第四,打通全链路


分布式测试:

通过1个Controller + N个Load Generator的架构来解决单机CPU、内存和网络带宽的短板。

操作:负载机安装Load Generator Agent并保证服务启动;Controller通过“Load Generators”界面添加负载机IP并证实连接状态(Ready状态表示连通);在场景中为不同脚本组分配不同的Load Generator。

准备:保证Controller和Load Generator之间网络通畅(如关闭防火墙或放行54345等LR专用端口),建议部署在同一子网以获得低延迟。


组合复杂业务

当测试涉及多人协作、差别化操作、乃至分阶段压力等复杂业务场景时,手动场景通过脚本分组阶梯启动的方式能灵活应对:

划分用户组:如登录组、购物组、浏览组。


阶梯启动方法:

登录组数量50,立即启动(模拟用户到达过程)。

购物组数量100,延迟5分钟才启动(模拟已登录用户)。

阶段交汇,当用户达到某一压力点时触发测试是手动场景的技巧。


最快上手

如果希望以最快的速度上手,推荐以下:

第一步:跟着自带Demo走一遍 LoadRunner自带一个WebTours示例网站,位于安装目录下。第一次实践就是完整地走一遍录制脚本-参数化登录 -压测登录接口 -生成报告这个流程感受三大组件怎样协同工作。

第二步:从单一接口开始不要一上来就压测全链路业务流程!选择系统中最主要的技术栈最独立的单一接口(如用户登录或商品查询接口),跑通第一个非Demo的Hello World。经测试无误后再逐步扩展到全流程。

第三步:遇到问题随时搜索loadrunner.cn中文网或专业的软件测试社区,别人踩过的坑一般已经有现成的解决方案。


指南

新手常见错误一:HTTP 200即代表业务正确?

正解:HTTP 200只代表服务器正常响应,不代表业务正确。必须添加文本或图像检查点,确定响应中包含登录成功、欢迎您等业务字样,才能判断请求真实成功。


新手常见错误二:忽略了思考时间(Think Time) 的设置。

正解:真实用户在操作间有键盘输入、页面浏览的天然停顿,完全忽略会使服务器压力远大于真实场景。使用lr_think_time()函数插入模拟停顿,并在压力测试场景(Controller)中启用运行时设置里的思考时间。


新手常见错误三:所有虚拟用户都使用相同的写死测试数据。

正解:大量用户同时登录同一账号会导致会话冲突。必须使用参数化(从CSV文件读取多个不同的用户名/密码),让每个虚拟用户使用独特的数据。


FAQ:

问:为什么我总是录不到脚本、或者脚本为空?答:禁用IE浏览器的启用第三方浏览器扩展选项,并在操作系统的数据执行保护(DEP)设置中添加Vugen.exe为例外,重启后一般能解决问题。


问:Jmeter和LoadRunner我该选哪个?答:两者各有不同。JMeter是开源、轻量、灵活的全能工具,适合初创企业和API测试;LoadRunner是商业、重型、协议包括面最全的企业级工具,适合大型传统企业和复杂C/S架构。如果预算充足且需要测试SAP、Citrix等非Web协议,LoadRunner是不二之选。


问:企业级场景中LR有哪些?答:将VuGen脚本纳入Git版本管理、用阶梯式Ramp Up方法而不是瞬间启动防止服务雪崩、在Controller中设置SLA目的让Analysis自动考虑是不是达标、同时监控被压服务器的资源标准(CPU、内存、磁盘I/O、网络带宽)以确定短板方向。


文章标签: 性能测试 软件性能测试 软件应用性能测试 测试工具
热门标签 换一换
第三方软件国产化测试 第三方信创测试 CNAS软件测评报告 CMA软件测评报告 首版次软件认定 软件结题验收 软件测试报告书 软件质量检测 数据库测试 H5应用测试 软件质检机构 第三方质检机构 第三方权威质检机构 信创测评机构 信息技术应用创新测评机构 信创测试 软件信创测试 软件系统第三方测试 软件系统测试 软件测试标准 工业软件测试 软件应用性能测试 应用性能测试 可用性测试 软件可用性测试 软件可靠性测试 可靠性测试 系统应用测试 软件系统应用测试 软件应用测试 软件负载测试 API自动化测试 软件结题测试 软件结题测试报告 软件登记测试 软件登记测试报告 软件测试中心 第三方软件测试中心 应用测试 第三方应用测试 软件测试需求 软件检测报告定制 软件测试外包公司 第三方软件检测报告厂家 CMA资质 软件产品登记测试 软件产品登记 软件登记 CNAS资质 cma检测范围 cma检测报告 软件评审 软件项目评审 软件项目测试报告书 软件项目验收 软件质量测试报告书 软件项目验收测试 软件验收测试 软件测试机构 软件检验 软件检验检测 WEB应用测试 API接口测试 接口性能测试 第三方系统测试 第三方网站系统测试 数据库系统检测 第三方数据库检测 第三方数据库系统检测 第三方软件评估 课题认证 第三方课题认证 小程序测试 app测试 区块链业务逻辑 智能合约代码安全 区块链 区块链智能合约 软件数据库测试 第三方数据库测试 第三方软件数据库测试 软件第三方测试 软件第三方测试方案 软件测试报告内容 网站测试报告 网站测试总结报告 信息系统测试报告 信息系统评估报告 信息系统测评 语言模型安全 语言模型测试 软件报告书 软件测评报告书 第三方软件测评报告 检测报告厂家 软件检测报告厂家 第三方网站检测 第三方网站测评 第三方网站测试 检测报告 软件检测流程 软件检测报告 第三方软件检测 第三方软件检测机构 第三方检测机构 软件产品确认测试 软件功能性测试 功能性测试 软件崩溃 稳定性测试 API测试 API安全测试 网站测试测评 敏感数据泄露测试 敏感数据泄露 敏感数据泄露测试防护 课题软件交付 科研经费申请 软件网站系统竞赛 竞赛CMA资质补办通道 中学生软件网站系统CMA资质 大学生软件网站系统CMA资质 科研软件课题cma检测报告 科研软件课题cma检测 国家级科研软件CMA检测 科研软件课题 国家级科研软件 web测评 网站测试 网站测评 第三方软件验收公司 第三方软件验收 软件测试选题 软件测试课题是什么 软件测试课题研究报告 软件科研项目测评报告 软件科研项目测评内容 软件科研项目测评 长沙第三方软件测评中心 长沙第三方软件测评公司 长沙第三方软件测评机构 软件科研结项强制清单 软件课题验收 软件申报课题 数据脱敏 数据脱敏传输规范 远程测试实操指南 远程测试 易用性专业测试 软件易用性 政府企业软件采购验收 OA系统CMA软件测评 ERP系统CMA软件测评 CMA检测报告的法律价值 代码原创性 软件著作登记 软件著作权登记 教育APP备案 教育APP 信息化软件项目测评 信息化软件项目 校园软件项目验收标准 智慧软件项目 智慧校园软件项目 CSRF漏洞自动化测试 漏洞自动化测试 CSRF漏洞 反序列化漏洞测试 反序列化漏洞原理 反序列化漏洞 命令执行 命令注入 漏洞检测 文件上传漏洞 身份验证 出具CMA测试报告 cma资质认证 软件验收流程 软件招标文件 软件开发招标 卓码软件测评 WEB安全测试 漏洞挖掘 身份验证漏洞 测评网站并发压力 测评门户网站 Web软件测评 XSS跨站脚本 XSS跨站 C/S软件测评 B/S软件测评 渗透测试 网站安全 网络安全 WEB安全 并发压力测试 常见系统验收单 CRM系统验收 ERP系统验收 OA系统验收 软件项目招投 软件项目 软件投标 软件招标 软件验收 App兼容性测试 CNAS软件检测 CNAS软件检测资质 软件检测 软件检测排名 软件检测机构排名 Web安全测试 Web安全 Web兼容性测试 兼容性测试 web测试 黑盒测试 白盒测试 负载测试 软件易用性测试 软件测试用例 软件性能测试 科技项目验收测试 首版次软件 软件鉴定测试 软件渗透测试 软件安全测试 第三方软件测试报告 软件第三方测试报告 第三方软件测评机构 湖南软件测评公司 软件测评中心 软件第三方测试机构 软件安全测试报告 第三方软件测试公司 第三方软件测试机构 CMA软件测试 CNAS软件测试 第三方软件测试 移动app测试 软件确认测试 软件测评 第三方软件测评 软件测试公司 软件测试报告 跨浏览器测试 软件更新 行业资讯 软件测评机构 大数据测试 测试环境 网站优化 功能测试 APP测试 软件兼容测试 安全测评 第三方测试 测试工具 软件测试 验收测试 系统测试 测试外包 压力测试 测试平台 bug管理 性能测试 测试报告 测试框架 CNAS认可 CMA认证 自动化测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568