LoadRunner中文网站 > 新手入门 > LoadRunner自定义监控LoadRunner混合场景设计
教程中心分类
LoadRunner自定义监控LoadRunner混合场景设计
发布时间:2025/04/30 13:45:45

  性能测试并不是一场“跑得快”的竞赛,而是一门“看得清”的技术。测试脚本跑得再快,若没有可靠的数据支撑,就难以精准判断系统的承压能力。而系统性能的关键指标,往往不是默认就能被测试工具捕捉到的,这就使得LoadRunner自定义监控成为构建高质量压测体系的基础。同时,真实业务场景从来不是单一的请求行为,往往包含登录、查询、下单、支付等多个路径交叉的操作流程,这也促使测试人员需具备LoadRunner混合场景设计的能力。本文将围绕这两个高级主题展开,帮助测试人员构建更贴近实战、更精细掌控的性能测试模型。

 

  一、LoadRunner自定义监控

 

  在LoadRunner的测试执行过程中,系统资源、应用性能、业务指标的可视化监控是判断性能瓶颈和稳定性问题的核心依据。默认监控项如CPU、内存、网络I/O等固然重要,但在复杂的生产系统中,常常还需获取数据库连接池使用率、队列长度、线程数、缓存命中率、接口耗时等自定义指标。

 

  1.使用PerfMon实现自定义资源监控

 

  PerfMon(Windows性能监视器)可直接对接Controller,实现系统层资源的可视化采集。

 

  配置步骤:

 

  ●在Controller中添加被监控机器的IP地址。

 

  ●选择“AddCounter”,在“AvailableCounters”中勾选系统内置与自定义性能计数器,例如SQLServer的BufferCacheHitRatio、.NETCLR的线程池使用率等。

 

  ●设置采样间隔与监控周期,保存后即可在测试运行时图表中查看对应数据变化。

 

  2.利用SiteScope对接业务层监控

 

  SiteScope是MicroFocus生态下专为企业级资源监控设计的工具,可与LoadRunner无缝对接,支持包括操作系统、数据库、中间件、应用服务等数百种组件的实时指标采集。

 

  使用流程:

 

  ●在SiteScope中配置监控项,如Tomcat线程数、Redis命中率、Oracle缓存利用率等。

 

  ●在Controller中添加SiteScope监控源,加载配置项。

 

  ●通过Controller实时查看曲线,或在Analysis中合并测试数据进行多维对比。

 

  3.自定义业务指标采集(接口式)

 

  有些企业应用在关键路径中定义了自研的性能指标(如订单处理耗时、MQ队列积压量、APIQPS等),这些数据可通过HTTP接口对外提供。此时可以使用脚本或第三方工具对这些接口进行采集并集成到监控体系中。

 

  示例(使用Python采集接口数据并写入CSV,由Analysis读取):

 

  将数据对齐后,与LoadRunner事务数据一同分析,有助于定位“系统正常但业务不达标”的隐藏瓶颈。

 

  4.使用InfluxDB+Grafana建立可视化大屏

 

  为更直观、持久地观察监控趋势,建议在测试环境中部署InfluxDB与Grafana,将测试数据(事务响应时间、系统资源、接口指标等)写入数据库,通过仪表盘实时展示,适用于多次压测对比、问题追踪、性能基线管理等场景。

 

  二、LoadRunner混合场景设计

 

  现实中的业务系统,从用户登录到页面浏览、接口调用、下单、支付,每个路径所承受的压力强度各不相同。单一场景的性能测试往往无法覆盖所有系统瓶颈,因此,设计一个接近真实生产环境的**混合场景(MixedScenario)**至关重要。

 

  1.场景拆分与事务映射

 

  以一个电商平台为例,其业务流程可拆分为:

 

  ●登录模块(login.c)

 

  ●商品浏览模块(browse.c)

 

  ●搜索模块(search.c)

 

  ●加入购物车(cart.c)

 

  ●订单下单模块(order.c)

 

  ●支付接口(pay.c)

 

  每个模块制作独立的VuGen脚本,按事务划分关键路径,标记每段业务所需的资源量与预计并发比例。

 

  2.Controller中配置混合脚本

 

  ●在Controller中新建测试场景,分别导入上述各业务脚本。

 

  ●设置虚拟用户总数(如1000人),根据实际业务比例分配每类脚本执行比例,如:

 

  ○登录:10%

 

  ○浏览:40%

 

  ○搜索:20%

 

  ○下单:15%

 

  ○支付:15%

 

  ●设置不同Ramp-up策略(如支付压得慢,搜索压得快),精细控制并发峰值生成节奏。

 

  3.实现业务层级的负载模型

 

  混合场景不应仅看虚拟用户数量,更应关注每类业务对应的系统负载强度:

 

  ●登录行为触发认证服务、数据库查询,短时高峰

 

  ●浏览行为命中缓存,低资源消耗,高频调用

 

  ●下单行为关联库存系统、支付系统,为关键路径

 

  通过设置事务权重、加权事务分布,可以更真实地模拟系统在高并发场景下的压力结构。

 

  4.场景动态控制与智能调度

 

  在新版LoadRunner中,支持脚本条件控制和动态调度功能:

 

  ●使用运行时设置控制某类事务执行频率

 

  ●使用JavaScript逻辑在脚本中嵌入判断,如“如果库存接口返回慢,则转入备用接口”

 

  ●动态调整场景负载,模拟突发促销、断网重连等极限工况

 

  5.典型混合场景设计案例

 

  场景名称:促销高峰压测

 

  ●用户总数:5000并发

 

  ●脚本配置:

 

  ○login.c:500人并发,快速完成登录

 

  ○search.c:1500人并发,模拟用户疯狂搜索商品

 

  ○order.c:800人并发,频繁下单

 

  ○pay.c:500人并发,模拟真实支付流量

 

  ●场景目标:预测系统TPS极限、定位支付接口瓶颈

 

  6.混合场景分析与优化建议

 

  ●通过Analysis查看各脚本下事务响应时间分布,识别慢操作

 

  ●分析业务请求间互斥性(如登录完成才可下单),可优化流程链路

 

  ●将不同业务的错误率、失败类型分开统计,定位独立系统组件性能瓶颈

  LoadRunner自定义监控LoadRunner混合场景设计的结合,不仅能帮助企业更全面地掌握系统在各类压力下的行为变化,还能推动测试从“跑得动”向“看得透”的进阶演化。未来,随着AI驱动的智能测试场景生成、自适应监控机制的发展,性能测试将更贴近实际业务、服务稳定运营的全生命周期。

读者也访问过这里:
135 2431 0251