一.负载压力测试概述

1.负载压力

指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。

2.负载压力测试

指在一定测试约束条件下,测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的大负载压力。

负载压力测试是性能测试的重要组成部分。

3.性能测试

用来保证产品发布后系统的性能能够满足用户需求,包括两种测试策略:性能评测、性能调优

a.性能评测-性能调优的基础

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

b.性能调优

性能调优步骤

查找形成系统瓶颈或者故障的根本原因

进行性能调整和优化

评估性能调整的效果

4.负载测试

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

5.压力测试

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

6.并发性能测试

并发性能测试的过程,是一个负载测试和压力测试的过程。

逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,能过综合分析交易执行指标,资源监控指标来确定系统并发性能的过程。

并发性能测试是负载压力测试中的重要内容。

并发性能测试包括:应用在客户端性能的测试、应用在网络上性能的测试、应用在服务器端上性能的测试三个方面。

7.疲劳强度测试

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

8.大数据量测试

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

独立的数据量测试:指针对某些系统存储、传输、统计、查询等业务进行的大数据量测试。

综合数据量:指和压力性能测试、负载性能测试、疲劳性能测试相结合的综合测试。

二.负载压力测试的目的

1.在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况。

2.预见系统负载压力承受力,在应用实际部署之前,评估系统性能。

3.分析系统颈,优化系统。

a.瓶颈:应用系统中导致系统性能大幅下降的原因。硬件,操作系统、数据库或开发的应用程序中都有可能存在瓶颈。

b.建议首先消解决软件瓶颈,原因有三个:

软件瓶颈往往导致系统性能衰减更快,消除软件瓶颈,系统性能提升更快。

人为因素更易导致软件瓶颈要消除软件瓶颈,开发人员会更主动,并且可以节省资源。

盲目增加硬件则无形中增加维护费用,将来,软硬件不匹配的问题终究会暴露出来。

c.负载压力性能问题分为需要优化的性能问题和非系统优化所能解决的性能问题。

4.为企业项目的实施提供信心,帮助用户正确地进行容量规划,实现软硬件投资合理化,终交付高质量的系统,避免项目投产失败,保证用户的投资得到相应的回报。

三.负载压力测试的盲点

在负载压力测试时,不进行功能校验,当功能发生错误时,测试工具不能够记录产生的错误,忽略了负载压力情况下的功能不稳定问题。所以负载压力测试期间必须要进行必要的功能内容校验,即在测试过程中记录所有虚拟用户的操作,及服务器的响应,才有助于判断功能错误,这是当前负载压力测试的大挑战。