Loadrunner工具原理及分析

4)运行时设置

该部分主要包括对脚本迭代过程、用户操作的思考时间、运行错误处理方式、虚拟用户以线程或进程来处理的选择、用户网络模拟、浏览器效仿、检查点等设置。

5)强大的函数库

该工具按支持的编程语言,以及应用分类封装了一些常用函数,包括通用函数和特定协议的函数。

通用函数包括:信息相关的函数,如输出、打印错误信息;事务函数,如插入事务;运行时函数,如思考时间设置;参数相关函数,如字符转换,获取变量等。

特定协议的函数跟录制的协议类型有关系。主要方便用户在该协议下使用提供的特定函数进行过程通信的模拟。

6)系统及浏览器的支持

  1. 系统支持
  • Windows Vista SP2 32-bit
  • Windows XP Professional SP3 32-bit
  • Windows Server 2003 Standard Edition/Enterprise Edition SP2 32-bit
  • Windows Server 2008 Standard Edition/Enterprise Edition SP2 32-bit and 64- bit
  • Windows 7
  1. 浏览器支持
  • Microsoft Internet Explorer 6.0 SP1 or SP2
  • Microsoft Internet Explorer 7.0
  • Microsoft Internet Explorer 8.0

2、Controller(控制器)

     Controller根据实际负载场景分析进行性能测试场景的模拟配置,并配置相应的性能计数器,然后以脚本为组分配到相应的压力生成器进行用户模拟完成负载测试。

该部分主要包括场景类型选择、场景设计、场景执行及场景监视。

1)场景类型选择

场景类型包括:手动测试场景面向目标测试场景

①手动测试场景

根据实际负载场景分析进行性能测试场景的模拟配置。

②面向目标测试场景

面向目标场景是一个闭环回馈关系,在这种场景模式下,首先定义要达到的目标,然后LoadRunner会自动基于这些目标创建场景,运行过程中,会不断的将结果与目标相比较,以决定下一步怎么走。

2)场景设计

手动场景配置

场景配置可以按照场景计划和用户组计划。

  1. 按场景计划,用户平均分配给虚拟用户组(一个测试脚本为一个虚拟用户组),然后统一进行计划配置,包括Initialize、Strart Vusers、Duration和Stop Vusers的设置。

     Initialize:初始化脚本,即提前为虚拟用户分配好所需的资源,设置初始化脚本的方式包括:

  • 在每个虚拟用户运行时初始化;
  • 每隔一段时间初始化一定的虚拟用户;
  • 在运行前完成虚拟用户的初始化。

     Strart Vusers:设置虚拟用户加载数量和方式,方式包括:

  • 同时加载所有用户;
  • 每隔一段时间加载一定的虚拟用户。
  • 设置场景的持续运行情况,包括:
  • 按照设置运行,即每个虚拟用户按照所指定的迭代次数运行,直到运行结束。
  • 按指定的时间运行,脚本迭代次数被忽略。

     Stop Vusers:停止虚拟用户及释放资源,停止虚拟用户使用方式包括:、

  • 持续运行结束后,同时停止所有的虚拟用户;
  • 每个一段时间停止一定量的虚拟用户。
  1. 按用户组计划,以组为单位进行计划,每个组都要设置自己的Strart Group、Initialize、Strart Vusers、Duration和Stop Vusers。

        Strart Group:设置每个组的运行方式,包括:

  • 当点击运行场景后,所有虚拟用户组立即执行。
  • 当点击运行场景后,隔一段时间后执行所有虚拟用户组。
  • 在某个特定的用户组运行结束后才开始,通俗的讲就是在某个脚本运行结束后才开始运行。
  1. 在手动场景中同时支持以百分比把虚拟用户分配到各用户组(脚本)中。

②面向目标场景配置

    在面向目标场景中,先定义测试达到的目标,然后再自动根据这些目标创建场景。

  1. 场景设置,包括:
  • Run Time:设置一个时间,当目标达到后该场景还会持续运行设置时间后结束。
  • If target cannot be reached:设置如果目标达不到,该如何处理场景,包括:停止场景并保存结果;继续运行场景直到达到目标。
  1. 加载行为设置,包括:
  • 自动加载用户;
  • 设定一个时间后达到目标;
  • 设置每隔一段时间增加一定的目标量。
  1. 目标类型设置,包括:
  • 虚拟用户数目标类型,主要用来测试服务器对并发用户的处理能力。
  • HPS(Hit per Second)目标类型,该目标是点击数/秒。设置HPS目标,同时设置最小虚拟用户数和最大虚拟用户数:当场景执行时,会优先使用最小的虚拟用户数来达到定义的目标;如果最小的用户达不到目标,则自动增加虚拟用户数,知道定义的最大虚拟用户数。
  • TPS(Transaciton per Second)目标类型,该目标是每秒处理的事务数。指定脚本中的目标事务,设置TPS目标,同时设置最小虚拟用户数和最大虚拟用户数。
  • 事务响应时间(Transaction Response Time)目标类型。指定脚本中的目标事务,设置该事务响应时间目标,同时设置最小虚拟用户数和最大虚拟用户数。
  • 每分钟处理的页面数(Pages per Minute)目标类型。设置目标,同时设置最小虚拟用户数和最大虚拟用户数。

③配置View Script

在场景设计,脚本加载后,可以通过View Script窗口列表对脚本修改,修改后需要重新加载脚本,确保修改有效。

④配置Load Generator(负载生成器)

负载生成器在控制器发出指令时,负责和其它的负载机建立联系并强制负载机执行。在View Script窗口中,虚拟用户组(脚本)对应一个负载生成器。

3)场景执行

  1. 场景控制,包括“开始场景”、“停止场景”、“重置/复位”、“虚拟用户组”、场景结束等功能。
  • 开始场景:开始运行;
  • 停止场景:场景运行停止;
  • 重置/复位:将所有的虚拟用户组重置为运行前的“关闭”状态,准备下一次场景执行。
  • 虚拟用户组:查看虚拟用户组每个虚拟用户的详细状态,如运行状态、脚本、负载生成器和所用时间。
  • 场景结束:结束运行,包括三种结束方式:等当前迭代运行结束后,再停止运行场景;等当前的Action运行结束后,再停止运行场景;不等待,立即停止运行场景。
  1. 虚拟用户组的控制,即可以针对每一个虚拟用户组进行相关的操作,包括暂停、重置、初始化、编号重新定义、对虚拟用户排序、查看用户组的脚本日志等。

4)场景监视

①关于联机监控

Loadrunner提供了一些列监视器,用户只需要做简单的设置即可完成对服务器监控相关信息的监控和统计。

Loadrunner联机监控

具体包括下列监视器:

  • “运行时”监视器:显示参与场景的虚拟用户数和状态,已经虚拟用户数生成的错误数和类型。
  • “Web资源”监视器:监视场景运行时期间Web服务器上的信息,主要包括Web连接数、吞吐量、HTTP响应数、服务器重试次数和下载到服务器的页面数信息。
  • “系统资源”监控器:主要是监控场景运行期间Windows、UNIX、Tuxedo、SNMP、Antara FlameThrower和SiteScope资源使用情况 。
  • “网络延迟”监控器:显示关于系统网络延迟的信息 。
  • “防火墙”监控器:用来度量场景执行期间防火墙服务器信息统计的情况。
  • “Web服务器资源”监控器:用来度量场景运行期间Apache、Microsoft IIS、iPlanet (SNMP) 和iPlanet/Netscape Web 服务器的统计信息。
  • “Web应用程序服务器资源”监控器:度量场景运行期间应用程序服务器Ariba、ATG Dynamo、BroadVision、ColdFusion、Fujitsu INTERSTAGE、iPlanet (NAS)、Microsoft ASP、Oracle9iAS HTTP、SilverStream、WebLogic (SNMP)、WebLogic (JMX) 和 WebSphere统计信息的情况 。
  • “数据库服务器资源”监控器:用于度量场景运行期间数据库DB2、Oracle、SQL 服务器和Sybase统计信息的情况 。
  • “流媒体”监控器:用来度量场景运行期间RealPlayer和Media Player客户端以及Windows Media服务器和 RealPlayer 音频/ 视频服务器的统计信息 。
  • “ERP/CRM服务器资源”监控器:用来度量场景执行期间SAP R/3 系统、SAP Portal、Siebel Server Manager、Siebel Web 服务器和 PeopleSoft (Tuxedo) 服务器的统计信息 。
  • “Java性能”监控器:用于度量J2EE对象及J2EE和EJB服务器对象的统计信息 。
  • “应用程序组件“监控器:用来度量场景执行期间 Microsoft COM+和 Microsoft .NET CLR 服务器的统计信息。
  • “应用程序部署解决方案”监控器:用来度量场景执行期间 Citrix MetaFrame XP 和 1.8 服务器的统计信息。
  • “中间件性能”监控器:度量场景执行期间 Tuxedo 和 IBM WebSphere MQ 服务器的统计信息 。
  • “基础结构资源”监控器:用于度量场景执行期间网络客户端数据点的统计信息。

②监控器与度量

喜欢 | 6 不喜欢 | 3