Owen的酒楼

--酒楼上渡过的人生--
生命太短,人生太长,但愿别喝醉了。

导航

负载压力测试基础概念 ZT

Posted on 2007-10-31 13:27  Hicome  阅读(329)  评论(0编辑  收藏  举报

负载压力测试基础概念


负载压力测试有助于确认被测系统是否能够支持性能需求,以及预期的负载增长等。负载压力测试不只是关注不同负载场景下的响应时间等指标,它也要通过测试来发现在不同负载场景下会出现的,例如速度变慢、内存泄漏等问题的原因。

    负载压力测试是性能测试的重要组成部分,负载压力测试包括并发性能测试、疲劳强度测试、大数据量测试等内容。一般包括如下:

    1、性能测试

    性能测试用来保证产品发布后系统的性能能够满足用户需求。其中系统性能包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。

    2、性能评测

    性能评测包括:在真实环境下,检查系统服务等级的满足情况,评估并报告整个系统的性能;对系统的未来容量作出预测和规划

    3、性能调优

    性能调优一般的步骤为首先查找形成系统瓶颈或者故障的根本原因,其次是进行性能调整和优化,最后便是评估性能调整的结果。

    4、负载测试

    负载测试时通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。

    5、压力测试

    压力测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。

    6、并发性测试

    并发性测试的过程,是一个负载测试和压力测试的过程。即逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点。并发性测试分为三类:
  
    a、应用客户端性能的测试;
  
    b、应用在网络上性能的测试;

    c、应用在服务器上性能的测试;
  
    7、疲劳强度测试
  
    8、大数据量测试

    大数据量测试包括独立的数据量测试和综合数据量测试两类。


------------

关于并发用户与集合点的问题


Q:并发用户数和集合点有必然联系吗?在性能测试中必须使用集合点来测试吗?

    A:并发用户数,顾名思义,就是同时操作的用户,这里的“操作”可以指对系统真正的操作,也可以只是连接(此时通常叫作“并发连接数”),而集合点是一种特殊情况下的并发,多用于测试系统在瞬间加压的表现。因此,并发用户数和集合点有联系,但并非必然的联系,在测试并发用户的性能测试场景中,可以不必设置集合点,这将视测试目标和测试策略而定。

    Q:不设置集合点的测试,能代表是“并发”操作吗?

    A:有这样一种说法,设置集合点是为了确保“严格意义上”的并发,其实从本质上看,这主要是一个看问题的粒度大小的问题。集合点的作用是通过工具的控制,确保一个请求严格的“同时”从前台提交到后台。可是如果微观地看,是不存在严格意义上的并发的,即使在客户端通过设置集合点的方式将100个请求同时提交到后台,经过网络上的传输消耗,可能它们并不是同时到达的,而即便100个请求同时到达服务端,受到中间件和应用系统、数据的各种连接池、缓冲区, CPU处理队列等的限制,也可能在服务端产生等待的。因此,严格意义上的“并发”可以说是不存在的,我们需要做的是在可以接受的粒度范围内取得一个最佳的平衡点,站在这个平衡点的层面上去看待“并发”这个问题。

    性能测试无非有两个目的,一是评测,二是调优。
在以评测为目的的性能测试中,用户更关心的是业务上的并发,也就是真实业务场景的并发情况,这种情况下只要按照业务操作的模式去设置场景就可以了,并不需要设置集合点。
集合点是一种特殊情况下的并发,通常是在以调优为目的的性能测试中才会用得到,目的是有针对性地对某个可能存在性能问题的模块施压,以便找到性能瓶颈。