在性能测试过程中,建模实际上可分为两个过程,性能测试过程和模型构建过程,性能测试过程主要完成对系统进行性能测试,并搜集相应的测试结果,形成测试过程文档;模型构建主要是根据搜集到的性能测试需求和生产系统的相关信息完成性能模型的构建工作,并指导性能测试过程以及测试结果的生成。
一、测试过程863+1模式
二、业务模型
三、数据模型
四、监控模型
五、测试模型
六、执行模型
七、风险模型
八、分析模型
1. 资源拐点模型
随着单位时间流量的不断增长,被测系统的压力不断增大,服务器资源会不断被消耗,TPS值会因为这些因素而发生变化,而且符合通常情况下的规律。以下是一个性能测试压力变化模型图:
说明:
a点:性能期望值
b点:高于期望,系统资源处于临界点
c点:高于期望,性能处于拐点
d点:超过负载,资源不够用,系统处于崩溃
2、压力曲线拐点模型
根据响应时间、吞吐量、资源利用率三大综合指标,来预估或区分轻压力区、重压力区、拐点区(濒临崩溃压力区)。以下是一个性能测试压力的曲线拐点模型图:
根据拐点模型,我们可以定义性能测试的类别:
(1) 性能测试:处于a~b点,以及轻压力区,表示以性能目标预期为前提,对系统进行施压,验证系统在资源可用范围内,是否能达到性能预期的目标,追求的是最佳并发用户数。
(2)负载测试:处于b~c点,以及重压力区,表示在系统在一定的压力下持续一段时间,直到系统的某项或多项指标达到极限,比如系统资源CPU、Memory、IO、连接池、缓存、JVM资源等达到饱和状态。
(3)压力测试:处于b~d点,以及重压力区和拐点区,表示在超过安全负载的条件下,不断对系统进行加压,直到系统不能再接受请求,并可以确定一个系统瓶颈的情况下,目的是为了找出系统的瓶颈,需要对系统进行调优。
(4)稳定性测试:a点到b点的系统性能,以及轻压力区,表示被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定,一般稳定性测试时间为n*12小时。