当前位置:首页 > 教学设计 > [基于LoadRunner的行政审批系统负载测试研究] 负载测试是验证要检验的系统
 

[基于LoadRunner的行政审批系统负载测试研究] 负载测试是验证要检验的系统

发布时间:2019-01-11 03:58:46 影响了:

  摘要:对软件性能测试的方法进行分析,通过对大型软件测试工具LoadRunner三个测试组件的工作机制进行研究,详细介绍了利用LoadRunner对行政审批系统进行负载测试的方法和过程,指出政府信息部门掌握此工具的必要性。
  关键词:行政审批系统;性能测试;负载测试;LoadRunner
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)17-31659-02
  Research on Stress Testing of Administrative Examination and Approval System Based on LoadRunner
  ZHANG Wen-shen
  (College of Information Science & Technology, Xiamen University, Xiamen 361012, China)
  Abstract: General method of performance testing is introduced in this paper. Also, detailed description is given to the mechanisms of LoadRunner"s three main components, after that, based on a testing of an administrative approval system, methods and process of using LoadRunner is presented, and the necessity of mastering stress testing tool for the information department of government is pointed out.
  Key words: administrative approval system; Performance Testing; Load Testing; LoadRunner
  
  1 引言
  
  随着网络技术的不断成熟和发展,国家大力推行网上政务办公自动化系统,这些系统多采用B/S结构的系统模式或者三层结构的系统结构。相关的政府职能网站在功能具备的前提下,如何保证系统能满足24×7的全天候服务,以及在用户并发访问的情况下,不会出现系统崩溃、页面滞后的问题,以及保证业务支撑系统的服务质量,已经成为广大用户关心的新的问题。本文就此展开讨论,探讨类似办公系统的性能测试工作,防患于未然,在系统上线之前进行相关的性能测试工作,对系统进行相应的优化调整,为系统的正常投入运营提供信心和保证。
  传统的性能测试工作可能采用手工的方式,但不可能模拟大批量用户并发访问系统时的真实情况,测试人员通过手工模拟系统用户访问业务系统,效果不是很理想。随着技术手段的不断进步,目前的性能测试工作的开展,主要是借助相关的软件测试工具或者开发相关的测试软件,来模拟大批量用户并发使用系统的场景,从而对系统性能进行考察。目前市场上有很多商用的软件性能测试工具如Mercury Interactive公司的LoadRunner、IBM 的Rational Robot等,同时,也有很多开源的软件测试工具如Jmeter、OpenSTA、TestMaker等工具,均为性能测试工作提供了相应的技术保证。[1]
  目前主流的性能测试工具的测试流程如图1所示。首先是要制定测试计划,然后根据测试目标录制相应的测试脚本,然后对脚本进行场景组织,并发回放多个测试脚本,不断地增加并发的用户数目,在进行并发性能测试的同时,对应用系统的服务器进行系统资源监控,采集并发测试过程中系统的资源使用情况,对服务器的内存、CPU、磁盘I/O、换页操作等情况进行资源监控和分析,定位系统的瓶颈。[2]
  图1 性能测试流程图
  本文主要以利用LoadRunner来测试厦门市海沧区的网上审批系统为例,来介绍电子政务应用系统性能测试的方法和过程。
  
  2 LoadRunner工作原理
  
  LoadRunner中包含了三个组件:(1)提供产生压力脚本的Vugen;(2)提供运行脚本并对后台进行监控的Controller;(3)对压力数据进行分析的Analysis。Vugen用于性能测试中的脚本录制,Controller用于设置、运行和监控场景,Analysis用于测试结果分析。[3][4]
  2.1 虚拟用户产生器Vugen
  虚拟用户产生器通过录制客户端和后台服务器之间的通讯包,分析其中的协议,自动产生脚本。用户在自动产生的脚本的基础上进行修改,从而快速开发出一个逻辑功能和客户端软件完全一样的压力脚本程序。但是在脚本的回放过程中会遇到一些问题,如:用户Session Id的动态数据的过期、重复数据的插入、IP地址的限制等,LoadRunner通过以下技术来解决脚本运行过程中的问题,具体包括:
  (1)参数的关联:把服务器返回的动态数据,通过函数web_reg_save_param()保存到一个参数中如: web_reg_save_param (“CSRule_1_U ID2”,“LB =userSession value = ”,“RB = >”,“Ord = 1”,“Search=Body”,“RelFrame Id = 1”,LAST),这个函数把服务器产生的动态数据Session value 保存到参数CSRule_1 _U ID2中,在以后需要用到该动态数据时可以直接引用该参数这样在脚本回放时userSession就用参数CSRule _1 _U ID2 来代替,不会出现Session过期的问题。
  (2)数据的参数化:录制业务流程时, Vugen 生成一个脚本来包含录制期间所用到的实际值。假设,您要使用不同于录制内容的值来执行该脚本的操作(查询、提交等) 。要实现这一点,可以使用参数替换已录制的值,这被称为脚本参数化。通过脚本参数化可以避免重复数据的提交和模拟真实数据的场景等。数据的参数化可以通过数据文件,在数据文件中通过定义列值和行值,通过取值策略的不同来分配每次迭代,或者每个虚拟用户取值参数化的参数值;还可以定义查询语句,从数据库中提取数据进行数据的参数化; 另外,还可通过分配内部数据,包括日期/时间、组名、迭代编号、负载生成器名、随机编号、唯一编号和Vuser ID以及调用用户定义的函数即DLL函数生成的数据等。
  2.2 负载生成控制器Controller
  Virtual users 建立起后,就需要设定负载方案,业务流程组合和虚拟用户数量。Controller就能很快组织起多用户的测试方案。
  Controller 的Rendezvous 功能提供一个互动的环境,在其中既能建立起持续且循环的负载,又能管理和驱动负载测试方案。而且,还可以利用它的日程计划服务来定义用户在什么时候访问系统以产生负载。这样,就能将测试过程自动化。同样还可以用Controller 来限定负载方案,在这个方案中所有的用户同时执行一个动作,如登陆到一个库存应用程序来模拟峰值负载的情况。另外,还能监测系统架构中各个组件的性能包括服务器,数据库,网络设备等来帮助用户决定系统的配置。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文   Controller通过它的AutoLoad 技术,提供了更多的测试灵活性。可以根据目前的用户人数事先设定测试目标,优化测试流程。例如,目标可以是确定应用系统承受的每秒点击数或每秒的交易量。
  Controller内含集成的实时监测器,在负载测试过程的任何时候,都可以观察到应用系统的运行性能。这些性能监测器实时显示交易性能数据(如响应时间)和其它系统组件包括application server,web server,网路设备和数据库等的实时性能。这样,就可以在测试过程中从客户和服务器的双方面评估这些系统组件的运行性能,从而更快地发现问题。再者,利用LoadRunner 的ContentCheck TM,还可以判断负载下的应用程序功能正常与否,在Virtual users运行时,检测应用程序的网络数据包内容,从中确定是否有错误内容传送出去。它的实时浏览器帮助我们从终端用户角度观察程序性能状况。
  2.3 进行数据分析的Analysis
  此组件其实是一个数据处理组件,通过对Controller收集的大量数据进行综合分析,以图的形式展现给用户。用户通过分析各种参数指标,如Web应用的页面吞吐量、每秒点击次数和事务平均响应时间,系统资源如CPU利用率、内存利用率、磁盘I/O,中间件服务器的各性能参数指标、Weblogic 的JVM内存使用情况、事务的响应时间、EJB的使用情况、数据库如Oracle的高速缓存命中率、Sql语句的执行情况、锁资源的争用等,来确定系统的性能瓶颈问题。
  
  3 行政审批系统负载测试过程
  
  海沧区整个网上审批系统采用城市级网上审批系统的典型结构进行组织设计。该结构如图2示。
  图2 上审批系统结构图
  由图可见系统包括四个部分:(1)核心审批系统;(2)互联网审批信息发布与申报交互系统;(3)数据交换平台;(4)各单位独立的专用审批系统。
  这四部分组成了所谓“城市级网上审批系统”的总体概念。不管一个城市网上审批系统具体方案如何,功能模块如何划分,而这四个部分是不可缺少的。同时这种构架也是比较科学、合理和经济的。在图的顶端是全区电子政务的顶层系统――电子监察系统。海沧区网上审批系统应用组织方案就是按照上述总体方案开展相关系统的建设。
  海沧区网上审批系统应用J2EE框架结构,使用B/S模式,将应用系统分为三部分――数据层、业务逻辑层、表示层。本结构具有跨平台的特性,结构中的三个层次可以处于不同的平台下进行协作应用;因为表示层可以使用不同的客户端程序,因此具有很好的分布性,可以适应分布式管理的要求;在后台的应用系统集成中,可以把用户不同的应用系统集成到该结构中,因此可以有效的保护现有的资源不被破坏。基于J2EE来实现的应用服务的核心框架如3所示:
  图3 层结构技术框架图
  下面介绍一下用LoadRunner对它进行性能测试的过程。
  (1)制定测试计划
  制定测试计划得目的是要明确测试的性能指标以及采用什么方案进行测试。所以,首先需要明确系统的设计目标和功能。在对系统进行分析后,提炼了五个测试功能点:用户登陆、记录增加、记录删除、记录查找、记录修改。要对这五个功能点进行分别和联合测试来确定①在响应时间为用户可接受的范围内,审批系统可支持的最大并发用户数;②审批系统的在大量并发用户访问下,影响系统的性能的瓶颈。
  (2)录制脚本
  针对系统的五个测试功能点,分别录制五个脚本。同时要注意,在录制的过程中,要把每个功能点的操作设置为一个事务,这样方便在结果分析的过程中来查看事务的运行情况。另外,为了保证用户对同一个功能点的真正并发,需要设置集合点。
  (3)设置、运行和监控场景
  在测试过程种设置两种类型的场景,场景一:最大用户数为500,每秒增加10个用户数。场景二:最大用户数为500,500个用户同时运行。在两种场景下分别对5种操作分别进行测试一次,然后再把五种操作合起来作为一个场景进行一次测试。
  在开始运行场景之前,要设置监控场景中的监控量。以本系统为例,因为系统以Weblogic为应用服务器,以SQLServer 2000为数据库服务器,所以在监控量的设置中要添加对Weblogic、SQLServer 2000、Windows Resource和Network的监控。默认情况下,这几个量是不被监控的,所以需要自行添加。
  (4)结果分析
  结果分析要针对我们制定的测试性能指标。比如我们要找出在响应时间为用户可接受的范围内,审批系统可支持的最大并发用户数。我们可以分析在线用户数和事务的平均响应时间的关系。如图4示的是在线用户数和登陆事务的平均响应时间的关系图。
  从图4我们可以看出登陆事务的平均响应时间在3分30处发生突变,随着用户数量的增加,响应时间急剧上升。由此可判定:最佳并发登陆用户数为300,超过300时,系统性能急剧下降。
  要找出审批系统的在大量并发用户访问下,影响系统的性能的瓶颈。主要可以从以下方面去找,首先是硬件原因,如果排除硬件原因的话,就要找是否是应用软件和系统软件影响了系统的性能。硬件因素包括CPU的主频、内存的容量以及网络带宽。图5CPU使用率和在线用户数的关系。
  图4 在线用户数和登陆事务的平均响应时间的关系
  从图5可以看出对于300个并发用户数而言,机器目前的CPU配置是没有问题。从图中可以看出,当并发用户数达到400后,CPU的使用率平均在60%,CPU对列中等待的线程数量也接近于0。
  图5 CPU使用率和在线用户数的关系
  既然CPU不是瓶颈,就要看看是不是内存的问题。图6内存的缺页情况和在线用户数的关系。
  图6 内存的缺页情况和在线用户数的关系
  从图6可以看出,当并发用户数不断增加时,内存的缺页情况越来越严重,内存缺页的原因是CPU无法在内存中找到需要的数据,就要产生磁盘的I/O操作,而这些I/O操作相对来说是非常耗时的,这就导致了系统性能的急剧下降,因而建议通过增加内存容量来提高系统的响应速度。
  
  4 结束语
  
  本文介绍了系统性能测试的一般流程,并以LoadRunner为例介绍了其工作原理和利用它对一个实际系统进行性能测试的详细过程。了解和掌握LoadRunner这类软件测试工具的使用有助于指导政府的信息部门制定合理的硬件采购计划,节省开支。同时,也有利于系统维护人员提前发现和解决问题。
  
  参考文献:
  [1]汪茂华. 谈网络办公系统自动化性能测试[J]. 安徽教育学院学报, 2006,24:48-53.
  [2]徐�,余珊珊,辛小霞. 基于LoadRunner的软件性能测试研究[J]. 现代计算机, 2007,261:73-75.
  [3]桑圣洪,胡飞. 性能测试工具LoadRunner的工作机理及关键技术研究[J]. 科学技术与工程, 2007,6:1019-1022.
  [4]杨萍,李杰. 利用LoadRunner实现Web负载测试的自动化[J]. 计算机技术与发展, 2007,17:242-244.
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3