它有什么作用
Micro Focus LoadRunner 是一种性能测试工具。它通过模拟多位并发用户的操作(这会在系统上产生负载)来测试 IT 系统的性能,然后测量系统响应用户命令所花费的时间。通常来说,随着负载的增加,系统速度会变慢,响应时间也会增加。例如,Micro Focus LoadRunner 可以用于模拟 1000 位用户同时在电子商务网站上执行交易。它可能首先对 10 位用户进行测试,然后逐渐增加到 1000 位,随着负载的增加测量响应时间,并显示响应时间不再可接受的点。在许多情况下,Micro Focus LoadRunner 都能使性能测试成为可能,因为手动执行此类测试既困难又昂贵。
它为什么有用
随着 IT 系统变得越来越普及并且对许多机构的成功越来越重要,性能测试已被公认为是质量控制不可或缺的一部分。出乎意料的大量用户可能导致 IT 系统不堪重负,对于关键系统来说,即使是几小时的停机也可能造成极高的代价。Micro Focus LoadRunner 使机构能够提前测试其 IT 系统,从而减少与风险表现相关的故障。
主要特点
LoadRunner 通过创建多个名为虚拟用户或 Vuser 的并发进程来模拟人类用户(在 Windows 中,虚拟用户作为进程或线程实施)。每个虚拟用户运行一个称为脚本的简单程序。HP LoadRunner 由四个主要组件组成,即虚拟用户生成器、负载生成器、控制器和 LoadRunner 分析。
虚拟用户生成器
虚拟用户生成器或 VuGen 用于创建、自定义和调试脚本。脚本通常通过录制人类用户在被测系统上的操作来创建。要录制脚本,应将被测应用程序的详细信息输入 VuGen,VuGen 以录制模式启动该应用程序。然后,用户在被测应用程序上执行脚本操作,VuGen 会录制每项操作。录制完成后,VuGen 可以回放用户操作。
通常必须先对新录制的脚本进行自定义,然后才能在性能测试中使用。例如,如果被测系统的用户需要使用不同的用户凭据进行登录,则每个虚拟用户也必须这样做。在这种情况下,必须对脚本进行自定义,使得各个虚拟用户使用不同的登录凭据。VuGen 提供了一种能实现这种变化的参数化机制。
脚本作为用 C 或 Java 语言编写的程序存储在 VuGen 中,并且能够采用直观的图形格式或以 C 或 Java 代码的形式呈现给用户。图形格式最适合常规录制、自定义和回放。对于更复杂的自定义,需要编辑 C 或 Java 代码。实际上,这些脚本可以完全手工编写,根本不进行录制,虽然这样做没什么好处。
负载生成器
VuGen 可以回放任何脚本,但一次只能回放一个脚本,因此不会产生大量负载。此任务由负载生成器执行。负载生成器会创建多个虚拟用户(根据设置,每个虚拟用户会作为线程或进程实施),并为每个虚拟用户分配一个脚本。然后,每个虚拟用户在测试期间运行其脚本。负载生成器不是交互式程序;它在后台运行,没有用户界面。它会启动和停止虚拟用户,并根据控制器的指令应用任何选项和设置。单个控制器可以控制负载生成器的一个或多个实例,并且负载生成器可以与控制器安装在同一台计算机上,或安装在同一网络的一台或多台不同的计算机上。通常来说,将安装负载生成器的多个实例,每台不同的计算机上安装一个,没有一个实例与控制器在同一台计算机上。
每个负载生成器实例可以生成的虚拟用户数量通常为数十或数百个。确切的数量取决于各种因素,包括生成器计算机的规格以及被测应用程序使用的网络协议(常见协议包括 HTTP、Oracle 及其他数据库协议、Java RMI 和 Citrix)。
控制器
LoadRunner 控制器控制着性能测试的执行。它有一个用户界面,可用于设置测试的各个方面,包括虚拟用户数量、每个虚拟用户运行的脚本以及测试持续时间。该用户界面还可用于启动和停止测试,并在测试运行时报告测试进度。
Micro Focus LoadRunner 测量的中心数量是系统对用户操作的响应时间。例如,在给定零件编号的情况下,库存控制系统检索库存数量所花费的时间。测量响应时间的操作由测试人员在脚本中确定。首先,测试人员将录制一个脚本,其中包含他/她希望测量其响应时间的操作,本例中为检索库存零件的数量。然后,在录制后的自定义阶段,测试人员将在脚本中的库存检索点插入语句,以测量响应时间。在 LoadRunner 术语中,测量响应时间的操作被称为“事务”。HP LoadRunner 测量的另一个关键数量是吞吐量,以每秒钟事务数为单位。随着系统负载的增加,响应时间也会增加,吞吐量会下降。
除了响应时间和吞吐量这些基本指标外,控制器还拥有许多“监视器”,用于测量被测系统的各种性能指标。基本监视器包括 CPU 利用率、内存承诺和磁盘 I/O。还有其他特定于被测应用程序类型的监视器,例如 Oracle 监视器和 Apache 监视器。
LoadRunner 分析
每个 LoadRunner 测试的结果都存储在单独的数据库中。测试结束后,Micro Focus LoadRunner Analysis 会读取该数据库,然后分析并显示结果。结果包括响应时间、吞吐量和测试开始之前在控制器中设置的任何监视器的输出。数据可以多种方式显示。它们包括粒度不同的图形、表格,也可以导出到 Microsoft Excel 或 .csv 文件中。通常分析的数据包括测试中处于活动状态的虚拟用户数量、每个事务的响应时间和测试过程中的事务吞吐量;以及被测系统的应用程序服务器和数据库服务器的关键资源利用指标。
协议
当将 Micro Focus LoadRunner 录制用户的操作作为创建脚本的第一步时,它录制的是客户端-服务器网络流量,而不是(像大多数功能测试工具那样)录制用户的 GUI 操作(如鼠标点击和按键操作)。并不一定要在 GUI 级别进行录制,因为客户端本身的性能很少成为问题。性能问题通常是由服务器上许多并发用户的操作引起的。在 GUI 级别进行录制将需要为每个虚拟用户复制 GUI(大多数情况下为 Windows 环境),这将比仅复制网络流量消耗负载生成器计算机中的更多资源。如果模拟 GUI,则预计每个负载生成器可能最多三个虚拟用户,如果不模拟 GUI,则为数十或数百个。与仅模拟网络流量相比,模拟 GUI 时,任何给定大小的性能测试都将需要更多的负载生成器。