性能测试连载 (4)-标准性能测试场景设计

前言

如何设计测试场景是性能测试中比较关键的内容。在性能测试领域有几个教科书一样的场景设计方法,放之四海而皆准

单业务基准测试

目的

单业务基准测试是在服务器没有压力的情况下,获取单笔业务的处理时间,为后续调优提供数据依托。

策略

jmeter中设置为单个线程迭代n次(如100),取平均响应时间。一般情况下我们不需要监控硬件资源和数据库。但是,如果系统出现了TPS=1与TPS=100消耗的CPU资源差不多的情况,那可能就是性能出了问题。
在这里插入图片描述
在这里插入图片描述

单业务负载测试

目的

获取系统单笔业务的最大处理能力,以及性能指标之间的关联关系和变化趋势,例如:响应时间随TPS的变化趋势,TPS和响应时间随并发用户数变化的趋势、CPU利用率随TPS的变化趋势。注:关注的是最大业务处理能力,而不是系统并发数

执行策略

负载测试有两种模式,一直是并发模式,一种是吞吐量模式。
1:并发模式就是通过从客户端的角度出发,摸底业务系统各节点能同时承载的在线用户数。例如jmeter里面的线程数
2:rps模式是从服务端的角度出发,直接衡量系统的吞吐能力
单业务负载测试一般以逐渐加压的方式执行30分钟(无步调、无ThinkTime),观察性能拐点。同时需要监控服务器资源、数据库处理能力。jmeter中可以用rps定时器(rps模式)或阶梯加压线程组(吞吐量模式)去实现。

rps模式

在这里插入图片描述
hps监听
在这里插入图片描述
tps监听
在这里插入图片描述
可以看出,系统最大rps在750左右,tps在600左右出现波动,在870左右吞吐量直线下降,系统出现异常

并发模式

阶梯加压
在这里插入图片描述
在这里插入图片描述
可以看出,在200并发左右的时候,tps在600左右出现波动

拐点判断方式:

通过Tps/Hps走势图观察拐点。吞吐量会随压力的增大呈抛物线状,抛物线的最高点处,即为当前测试环境下该交易的单支最大处理能力。吞吐量的拐点往往也就是响应时间的拐点。
在这里插入图片描述

通过资源消耗判断拐点。比如测试中Tps仍呈上升趋势,但CPU资源使用率已高达90%,就以此时Tps值为当前测试环境下该业务的单笔最大处理能力。
单业务负载测试可考察系统结构是否存在性能隐患。

混合业务负载测试

目的:考察各业务按比例分配逐渐加压的情况下,系统随着负载变化处理能力趋势,如响应时间、Tps、资源消耗。
执行策略:按比例分配,通过逐渐加压的方式执行1~2小时,需监控服务器资源消耗、数据库处理能力等。混合业务负载测试也需要判断拐点,判断方式与单业务负载测试相同
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wlkpwx15-1579262680357)(/uploads/photo/2019/d39ab345-8f5a-4dc9-9189-eff303b86435.png!large)]

稳定性测试

目的

系统长时间处于极限负载下的处理能力,是否随着测试时间的增长,有响应时间变长、内存泄露、磁盘空间不足、等隐藏问题。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RKz6CQw8-1579262680358)(/uploads/photo/2019/7811eaa5-b0b4-4beb-ad2f-29308cad4ef2.png!large)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YLNE5VtD-1579262680358)(/uploads/photo/2019/67087e01-7823-4528-9aca-935526949614.png!large)]

执行策略

通过阶梯加压的方式执行8小时(也可以是4、6、12、24、24*7等,根据实际情况),监控服务器资源消耗(特别是核心进程的内存消耗)、数据库处理能力等。稳定性测试负载压力可以采用系统最大处理能力的70%或80%,或混合场景中某个压力值。

发布了7 篇原创文章 · 获赞 0 · 访问量 193

猜你喜欢

转载自blog.csdn.net/ufuhz2008/article/details/104024302