摘要:软件的性能是企业衡量软件系统的一项重要指标,也是评价软件质量的重要标准之一。本文以某企业应用系统为例,详细总结了基于LoadRunner的性能测试流程中的任务和方法,此类方法对各类应用系统的性能测试均具有指导性意义。

  关键词:性能测试;平均系统响应时间;资源占用率;

  一、LoadRunner工作原理和衡量指标

  (1)工作原理。LoadRunner是一款能够预测系统性能的性能测试工具,通过模拟上千万用户实际并发和负载情形,向服务器发送请求,截获客户端和服务器之间的通讯数据包,检测服务器的响应。同时实时监控目标服务器的性能指标,以便通过分析和查找,判断瓶颈所在。

  (2)衡量指标。在使用LoadRunner进行性能测试过程中,系统性能测试指标是衡量系统性能的直观数据,常用衡量指标有以下几项:

  一是平均系统响应时间。该指标为衡量系统性能的重要常用指标之一,指从客户端发出请求到接到服务端返回的数据所消耗的时间,系统响应时间包括应用服务器、数据库服务器和网络传输等各个组件的时间之和,而用户感受到的响应时间为平均系统响应时间加上客户端界面呈现时间之和,其客户端的界面呈现时间很大程度取决于客户端的硬件表现。

  二是资源占用率。指系统在性能测试过程中,承担负载压力的服务器所耗费的各类资源的状况,常包含CPU占用率、内存利用率、带宽等。CPU占用率可以有效衡量服务器的CPU是否够用,指标Processor\%Processor Time体现了处理器的利用率,一般CPU占用不得超过75%,指标Processor\%User Time体现了消耗CPU的数据库操作,若该指标值较高则需要优化所测系统的应用算法;内存利用率用来衡量内存是否足够,指标Memory Available Mbytes的值一般不超过80%,若超过80%的利用率,则应考虑给所测服务器添加内存;带宽指标Network Interface用来衡量客户端与各个服务器之间的网络数据传递速度是否存在瓶颈,若Total throughput与测试运行时间之比的值与当前网络带宽的值相接近,则应该考虑改善当前网络环境。

  三是平均每秒通过事务数。是指性能测试过程中各个模式的客户端事务被服务器成功处理后的事务数量。在具体性能测试中,不能简单独立地使用各性能指标,而往往要综合各项指标综合分析系统的性能表现,以更真实的反应出系统缺陷。

  二、性能测试应用总结

  (1)制定测试计划。完整严谨的计划是整个性能测试成功与否的关键。该计划的制定需考虑以下三个方面:分析应用:即了解系统的架构,所采用的开发语言,了解网络情况,了解用户的使用方式及行为;定义测试目标:即深入了解测试的目的、用户可接受的大响应时间和系统资源的占用上限,这个目标是以用户为中心的;后基于以上两个方面制定测试计划,其中包含并发数的要求,场景的设置,测试环境的设置,以及相关硬软测试资源的规划等。

  (2)设计测试场景。一是场景设置。以登陆事务为例,按照系统的实际用户上限量,取并发用户数为10,并在负载过程中用户以每15秒增加2个进行递增,以每15秒减少2个进行退出,期间满负载运行10分钟。用户递增速率和退出速率应尽量放慢,其设置能模拟实际的负载场景,并能利于发现问题。二是测试环境。应按照实际系统的使用环境进行客户端、应用服务器、数据库服务器、网络带宽的真实环境设置,以便在使用LoadRunner进行模拟过程中更贴近实际系统的运行环境,得到数据更真实可信。

  (3)测试执行。基于以上测试场景,使用LoadRunner的Controller组件满负载运行30分钟,并添加了Think Time以便更真实的模拟用户场景在测试执行。在负载过程中,要时刻注意通过事务数量和各种图的情况,当有失败的事物出现时,需检查脚本的正确性和场景设置的合理性。

  (4)测试结果分析。Controller定时从各个Generator上获取采集的数据,通过使用Analysis组件显示测试结果,后通过收集结果进行数据分析。

  结果分析显示,随着虚拟用户数量的递增,平均系统响应时间并未超过用户的预期大值,同时,资源图的各个指标表现都平稳。若以上平均系统响应时间超过用户可接受的大响应时间,测试人员需结合平均系统响应时间和资源图两张图,按照资源占用率的各个衡量指标,从硬软两方面定位问题所在和系统瓶颈,从而找到系统优化的办法。

  性能测试结果很难仅仅通过测试数据反映系统设计的优良与否,其主要目的是为了发现系统瓶颈,改善和扩展系统。对整个流程中各个细节的充分研究必将有助于性能测试技术的进一步发展。