性能测试方法【转】

上一篇 / 下一篇  2010-08-26 15:26:14 / 个人分类:LoadRunner

1.性能测试

   性能测试方法通过模拟生产运行的业务压力量和使用场景组合测试性能是否能够满足需要。具备三个特点:

    1这种方法的目的是验证系统是否具有系统宣称具有的能力。
      
2这种方法需要事先了解被测试系统典型场景、并确定性能目标。
      
3这种方法要求在已确定的环境下运行
      
使用IBMRationalPerformance TesterHPMercuryLoadRunerOpenSTAApache ab
Jmeter
QALoadTagUnitJava Test Runner

 

 

2.负载测试
      负载测试用来测定系统饱和状态、确定阀值。其特点有:
      
1这种方法的目的是找到系统处理能力的极限;通过检测、加压、阀值手段找到如响应时间不超过10服务器平均CPU利用率低于65%”等指标。
      
2这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测系统的业务压力量和典型场景、另外HP Mercury LoadRuner在使用该方法进行加压的时候必须选择典型场景。
      
3这种性能测试方法一般用来了解系统的性能容量,或者是配合性能调优的时候来使用。特别是该项目的Weblogic ServerOracle数据库的性能调优。

 

 

3.压力测试
      压力测试方法测试目标系统在一定饱和状态下,例如CPU、内存等在饱和状态下、系统能够处理的session的能力,以及系统是否会出现错误。该方法需要在系统cache调优与pool优化方面着手。该方法具备以下特点:
      
1该方法的目的是检查系统处于压力情况下的,应用的表现。如增加VU数量、节点数量、并发用户数量等使应用系统的资源使用保持一定的水平,这种方法的主要目的是检验此时的应用表现,重点在于有无错误信息产生,系统对应用的响应时间等。
      
2该方法通过模拟负载在实现压力。这种模拟需要考虑的层面很多、首先、模拟必须是有效的,我的经验是需要结合业务系统和软件架构来定制模拟指标、我测试过一些国内生产的压力测试工具、他们使用通用的指标来考量、造成很多信息反馈有很大的水分。需要考虑的层面如:Oracle I/OJVM GCConn Pool等。
      
3该方法还可以测试系统的稳定性。这里的技巧在于什么样的平台定义一个多长的压力测试时间让其稳定运行才是科学的?

 

 

4.配置测试
      配置测试方式是指在测试前、测试中、测试后三个时间段通过对被测系统的软件/硬件环境的调整,了解各个不同环境对系统性能影响的程度,从而找到系统各个资源的最优分配原则。它具备以下特点:
      
1该方法的目的是了解各个不同的因素对系统性能影响的程度、从而判断出最值得进行的调优操作。该方法不同于与功能测试中涉及到的配置测试
      
2该方法存在很大的灵活性、可以在测试环节的各个时间进行、但是什么时候开始、什么时候暂停、什么时候结束才是运用这个方法的关键。

 

 

5.并发测试
      该方法通过模拟用户的并发访问,测试多用户环境并发访问同一个应用、同一个模块或者数据记录时系统是否存在死锁或者其他性能问题。该方法特点是:
      
1可以发现应用系统的全局性性能问题。
      
2该方法可以在开发工作的各个环节使用可以使用多个工具的配合。如:Compuware公司的DevPartner工具、EJ-Technologie公司的J Profile工具,QUEST公司的J Probe工具等。
      
3并发测试一般关注的问题是:
            
       、问      
            
内存问题:是否有内存泄露(COM+JAVA       
       
是否有太多的临时对象(JAVA
       
         
是否有太多不合理声明的超过设计生命周期的对象
       
       
数据库问题 :是否有数据库死锁
       
         
是否经常出现长事务
       
        
线程/进程问题 :是否出现线程/进程同步失败
       
        
其他问题 :是否出现资源争用导致的死锁
       
          
是否没有正确处理异常(如超时)导致的系统死锁

 

 

6.可靠性测试
      
这里说的可靠性测试并不等同于获得软件的可靠性,软件的可靠性是一个很大的命题,这里指的可靠性测试是通过给系统加载一定的业务压力(例如:资源在80%~90%的使用率),让应用系统运行一段时间、测试系统是否稳定运行。这里有三点需要注意:
      
1在使用该测试前需要目的系统的资源使用率已经达到70%~90%。即在这样的苛刻环境下运行该应用系统。
      
2应用系统运行起来后,加载业务压力使应用系统资源达到90%。比如:该J2EE系统中设置的JDBC数据库连接池定义为30,那么加载业务压力使连接达到27
      
3应用系统运行起来后结合业务情况来设定一个运行时间。比如:电力资产系统要求MTBF(平均无故障时间)达到10000小时、那么我们可以认定该系统的运行时间至少需要达到三年重新启动一次。超过这个数字我们就可以认为不可靠。一般情况下对于这个要求、我们让J2EE系统在资源使用率90%~100%状态连续稳定的运行3天左右没有错误就可以认定该MTBF指标已经达到。

 

 

7.失效恢复测试
      该方法是针对有HACMP等冗余备份和Edge Server for LB等负载均衡的J2EE系统设计的。该方法考量系统失效恢复的时间、用户受到多大程度、多大范围的影响,并将其量化。该方法有以下特点:
      
1一般的关键业务都会采用双机热备或负载均衡方式来实现。
      
2该方法回答两个问题:当问题发生的时候能支持多少用户访问有多少功能不能使用
      
3需要说明的是,对于HNDLZCGLXT的这个项目来说,负载均衡需要仔细考虑其实现方式,这影响到性能的调优。可以考虑使用F5等硬件技术方式、也可以考虑使用IBM WebSphere Edge Server等商业版本的软件技术方式。


TAG:

 

评分:0

我来说两句

Open Toolbar