浅谈性能测试


    为什么同样一个应用系统,在客户那里的反应就不一样,这就是性能的差别。特别是大型应用系统尤为突出,一个操作,用户等待时间过长,该系统的价值就被大大打了折扣,而通过了解性能测试,就能找出差别,改进不足。

    系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率,资源占用,稳定性,安全性,兼容性,可扩展性,可靠性等等,这里讨论的负载压力是系统性能的一个方面。

    性能测试用来保证产品发布后系统的性能满足用户需求。性能测试在软件质量保证中起重要作用。

    什么是负载测试呢?大家可能会问。负载测试是确定在各种工作负载下系统的性能,目标是测试当系统负载逐渐增加时,系统组成部分的相应输出项,例如通过量,响应时间,CPU负载,内存使用等如何决定系统的性能,例如稳定性和响应等。

    负载测试通常描述一种特定类型的压力测试,即增加用户数量以对应用程序进行压力测试。

    压力测试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。

    首先让我们先来看看一个应用在客户端性能的测试,众所周知,操作时间过长是软件最终用户不可避免碰到的问题,问题怎么找出来呢?对于复杂的应用系统而言,需要作疲劳强度测试和大数据量的测试。

    疲劳强度测试通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。

    由于数据库操作比较耗时,除了在时间上,数据量上的因素也需要考虑进去, 针对某些系统存储,传输,统计,查询等业务进行大数据量测试。

    负载压力性能测试的投资回报为软硬件投资最低化,实现正确的容量规划。

    下面向大家介绍一个应用在客户端性能测试强度的估算:80-20原理,每个工作日中80%的业务在20%的时间内完成。

    例如:每年业务量集中在8个月,每个月20个工作日,每个工作日8小时即每天80%的业务在1.6小时完成。
    去年全年处理业务100万笔,其中15%的业务处理中每笔业务需对应用服务器提交7次请求,其中70%的业务处理中每笔业务需对应用服务器提交5次请求,其余15%的业务处理中每笔业务需对应用服务器提交三次请求,根据以往统计结果,每年的业务增量为15%,考虑到今后3年业务发展的需要,测试需按现有业务量的两倍进行。
    测试强度估算:
    每年总的请求数为:(100*15%*7+100*70%*5+100*15%*3)*2=300万次/年
    每天请求数为:300/160=1.875万次/天
    每秒请求数为:(18750*80%)/(8*20%*3600)=2.6次/秒
    即服务器处理请求的能力应达到3次/秒

    目前性能测试作为一个热点,已经越来越引起客户的重视,作为公司技术研究开发室的成员,结合自己在中国软件评测中心学习的一些体会写成本文,希望能够对大家有所帮助。

 


Copyright@ 2006 TOTYU Corporation. All Rights Reserved.