LoadRunner的任务是用大量虚拟用户,模拟真实用户的行为,对被测系统施加压力,然后告诉你的系统撑不撑得住、慢在哪里。
三大组件:
LoadRunner的经典组件划分对应了性能测试的完整流程。一定要先分清这三个工具各自负责什么。
1. VuGen(虚拟用户生成器)
VuGen 是你唯一需要写代码(或录制生成代码)的场所。你在这里录制或手动编写单个用户的操作流程,比如登录 - 查看商品 - 加入购物车 -下单。录制完成的脚本绝不是直接就能用的,需要在这里对它进行几项重点的加工,这就是后面要讲的参数化、关联、检查点等。脚本调试通过后,才能交给下一个组件。
2. Controller(控制器)
把 VuGen 编好的剧本加载到 Controller 中,然后在这里设计压力场景:
我要用多少个虚拟用户?(比如 100 个)
他们怎么上场?(是一瞬间全部涌入,还是每 5 秒来 10 个?)
压力不断多久?(跑 30 分钟还是直到系统崩溃?)
需要监控哪些服务器的性能数据?(CPU、内存、磁盘 IO)
Controller负责指挥,它本身不产生负载。会通过网络把脚本分发给背后的Load Generator,并统一调度它们开始、运行和停止。场景运行中可以在 Controller 上实时看到响应时间、吞吐量等标准的曲线。
3. Analysis(分析器)
测试跑完,Controller 会产生一大堆原始数据。把这些数据导入Analysis会自动生成图表和报告:
什么时候响应时间开始变慢?
最大并发用户数是多少?
系统错误是在哪个压力点开始出现的?
后端数据库、应用服务器的资源消耗怎样和业务标准关联?
新手最容易犯的错误是只盯着平均响应时间,而 Analysis 的作用恰恰是帮你关联各种数据,找到性能拐点和短板的根源。