对初学者来说,培养观察与分析的思维是很重要的。下图为性能测试的基础曲线模型,是一个经典的压力曲线拐点图,不过在真实测试时结果不会这么理想。
其中,X轴代表并发用户数,Y轴代表资源利用率、吞吐量和响应时间。X轴与Y轴区域从左往右分别代表轻压力区、重压力区和拐点区。
性能测试的基础曲线模型
然后,根据前面学习的性能测试的术语与指标进行理解。随着并发用户数的增加,在轻压力区的响应时间变化不大,曲线比较平缓进入重压力区后响应时间呈现增长的趋势。最后进入拐点区后曲线倾斜率增大,响应时间急剧增加。
接着,观察吞吐量,随着并发用户数的增加,吞吐量增加。进入重压力区后吞吐量逐步平稳。到达拐点后吞吐量急剧下降,i这说明系统已经达到了处理极限,有点要打不住的感觉。同理,随着并发用户数的增加,资源利用率逐步上升,最终达到饱和状态
最后,把所有指标融合分析。随着并发用户数的增加,吞吐量与资源利用率增加,说明系统在积极地处理事务,所以响应时间增加得并不明显,此时系统处于比较好的状态。但随着并发用户数的持续增加,压力也在持续加大,吞吐量与资源利用率都达到饱和。随后,吞吐量急剧下降,响应时间急剧上升。轻压力区与重压力区的交界点的并发用户数值是系统的最佳并发用户数,因为各种资源都利用得比较充分,响应也很快;而重压力区与拐点区的交界点的并发用户数值就是系统的最大并发用户数,超过这个点后,系统会性能急剧下降甚至崩溃。
提示
性能测试在寻找拐点的时候,通常采用手动方式调整并发用户数,人为地判断峰值和临界点。其实可以设计实现一个算法,采用滑动窗口的方式,自动化地寻找性能拐点,这样做效率高,大家可以动手尝试一下。