一文为你揭开LoadRunner的神秘面纱

众所周知,目前主流的性能测试工具有Jmeter和LoadRunner,但仍有很多小伙伴不知道什么是LoadRunner。
本期文章便为大家揭开LoadRunner的神秘面纱,信息量有点大,准备好接收了吗?
1 LoadRunner是什么
LoadRunner,是一种预测系统行为和性能的负载测试工具,通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。
LoadRunner能够对整个企业架构进行测试,企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
2 LoadRunner的核心组件
LoadRunner包括4个核心组件:Vugen、Controller、Analysis、Load Generator。

LoadRunner的4个核心组件
VUGen
VUGen(Virtual User Generator,虚拟用户生成器),用于录制、生成、编辑、调试脚本。在LoadRunner中,虚拟用户就是脚本,严格来说,脚本实现的就是模拟用户行为的功能。
PS:在Vugen中,只能实现一个虚拟用户。
Controller
控制器,是用来设计、实现场景,执行场景,集成监控,实时监测的一个组件,适用于多用户执行脚本的场景。
Analysis
分析器,用于收集、整理测试结果,提供简单的概要报告、图表,并且提供必要的选项来帮助测试工程师分析性能测试结果、定位性能瓶颈。
Load Generator
负载生成器,用于生成负载用户(虚拟用户)。在安装LR的时候,Load Generator是可以选择安装的(非必需安装)。
以上四个核心组件中,只有Load Generator组件可以独立安装,并且可以安装在非windows环境下。
3 LoadRunner的测试流程
了解了LoadRunner的组件之后,我们是怎么运用TA来执行测试的呢?整体可分为以下4步:

LoadRunner的测试流程
注:此处仅作简要介绍,后文将举例介绍如何使用LoadRunner进行脚本录制。
4 LoadRunner 的Vuser协议类型
LoadRunner有不同的协议类型,编写脚本的时候我们应该选择什么类型呢?
以下是小编整理的部分类型,实际应用时可根据不同场景选择不同协议,一般常用Web (HTTP、HTML)。
类型 | 适用范围 |
客户端/服务器 | 适用于 MSSQLServer、ODBC、Oracle (2 层)、DB2 CLI、Sybase Ctlib、Sybase Dblib、Windows Sockets 和 DNS 协议 |
自定义 | C 模板、Visual Basic 模板、Java 模板、Javascript 和 VBScript |
分布式组件 | COM/DCOM、 CORBA-Java 和 RMI-Java |
电子商务 | FTP、LDAP、Media Player、多协议 Web/WS、Web (HTTP、HTML)、Palm 和 RealPlayer |
Enterprise Java Bean | EJB 测试和 RMI-Java |
ERP | Oracle NCA、Peoplesoft (Tuxedo)、SAP 和 Siebel |
传统 | 终端仿真 (RTE) |
邮件服务 | Internet 邮件访问协议 (IMAP)、MS Exchange (MAPI)、POP3 和 SMTP |
中间件 | Tuxedo (6, 7) |
无线 | i-Mode、VoiceXML 和 WAP |
LoadRunner 的Vuser协议类型
5 LoadRunner脚本的基本组成
如果想编写一个查询脚本,只需执行一次登录,且需要重复执行查询,该如何设置这个脚本呢?
一个脚本至少包括3个部分:
一个Vuser_init,一个或者多个Action,一个Vuser_end,详情如下:
脚本部分 | 录制部分 | 执行时间 | 说明 |
Vuser_init | 登录 | 初始化Vuser | 加在脚本时,只执行一次 |
Action | 客户端活动 | Vuser处于运行状态 | 可设置运行参数,重复执行 |
Vuser_end | 登出 | Vuser完成或者停止 | 结束脚本时,只执行一次 |
LoadRunner脚本的基本组成
6 LoadRunner 的常用参数说明
事务(Transaction)
用于模拟用户的一个相对完整的、有意义的业务操作过程,例如登录、查询、保存、提交,审核,下推等操作,这些都可以作为事务,而一般不会把每次HTTP请求都作为一个事务。
事务的作用:LoadRunner运行到该事务的开始点时,LoadRunner就会开始计时,直到运行到该事务的结束点,计时结束。这个过程中得到的时间即为一个事务时间。通常事务时间所反映的是一个操作过程的响应时间。
1、事务是LoadRunner度量系统性能指标的唯一手段,没有事务则没有办法衡量系统的响应时间。
2、事务能够用于度量高风险业务流程的性能指标;
3、事务能够度量一组操作中每一步的性能指标;
4、通过事务计时,可以实现不同压力负载下的性能指标对比;
5、通过事务计时,可以帮助定位性能瓶颈。
注:1、开始与结束函数必须成对出现;
2、同一个事务的名称必须一样。
集合点(rendezvous)
用于同步虚拟用户,以便恰好在同一时刻执行任务。
在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就
一文为你揭开LoadRunner的神秘面纱
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



