摘要:随着当夸软件开发技术的企业架构进行测试。通过使用loadrunner,企业能够最大限度的缩短测试时间,优化性能和加速应用系统的发布周期。loadrunner能支持广泛的协议和技术,功能比较强大,可以为特殊环境提供特殊的解决方案。loadrunner由下面三部分组成:virtual usergenerator用来录制脚本、编辑脚本controller用来布置测试场景、执行测试场景;analysis用来对测试结果进行分析。
用loadrunner进行负载测试的流程通常由五个阶段组成:计划、脚本创建、场景定义、场景执行、监视执行和结果分析。
(1)计划负载测试:定义性能测试要求,例如并发用户的数量、典型业务流程和所响应时间;根据软件项目相关需求,定义相关测试的细节,撰写性能测试报告。
(2)创建vuser脚本:将最终用户活动捕获到自动脚本中loadrunner的脚本是c语言代码,loadrunner有自己的一整套函数接口,可以供外部调用。脚本可分init、action、end三部分,其中:init部分可以理解为初始部分。action可以理解为事务部分,也是测试的主体,end是退出结束。
当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本的灵活性。一般情况下,我们通过以下几种方法来完善测试脚本。插人事务、插入结合点、插入注解、参数化输入。
(3)定义场景:使用loadrunner controller设置测试环境;录制好脚本之后,就可以把脚本加入到场景里面去了,这里首先介绍一下lr的场景类型,lr有2种大的场景类型。locaLhost
①manual scenario:该项要完全手动的设置场景,这项下面还可以设置为每一个脚本分配要运行的虚拟用户的百分比,可在controller的scenario菜单下设置。
②goal—oriented scenario,如果你的测试计划是要达到某个性能指标,比如:每秒多少点击。每秒多少transae,tions,能到达多少vu,某个transaction在某个范围vu(5d。一1000)内的反应时间等等,那么就可以使用面向目标的场景。
(4)设置场景:
design:设计测试场景的静态部分,设置模拟用户生成器、模拟用户数量、模拟用户组等。
run:设计测试的动态部分,主要指添加性能计数器,在脚本运行的过程中可以通过这些计数器反馈的数据。
建立了测试场景后,我们可以对edit_schedule进行设置,设置测试开始执行的时问,对于手动设计的测试还可以设定它的持续时间,以及何时起用或禁止调用模拟用户。
(5)运行场景:通过loadrunner controller驱动、管理和监控负载测试。
设置完毕后,点击“开始方案”运行场景。在运行过程中,可以监视各个服务器的运行情况(database server、webserver等)。监视场景通过添加性能计数器来实现,下列数据需要特别关注:
①memory:available mbytes物理内存的可用数(单位mbytes)至少要有10%的物理内存值。
⑦processor:processor time cpu使用率。这是查看处理器饱和状况的最佳计数器。显示所有cpu的线程处理时间。如果一个或多个处理器的该数值持续超过90%,则表示此测试的负载对于目前的硬件过于沉重。为多处理器服务器添加该计数器的o到x个实例。
③processor queue length:是指处理列队中的线程数,小于2。处理器瓶颈时会导致该值持续大于2。
④context switches/sec;如果切换次数到5000*cpu个数和i0000*cpu个数中,说明它忙于切换线程。
⑤network interface:bytes total/sec为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。

(6)分析结果:使用loadrunner analysis创建图和报告并评估性能。
lr的报表分析功能也异常强大,有各种各样的报表,甚至可以将单个报表组合,也可以导出到excel文件和ht-ml文件。