性能测试中混合场景设计举例
你能回答领导的这个问题么?
很多测试朋友在做压测的时候,都是把脚本调通,设置一个线程数就开跑,完全不考虑场景是否设置合理,
如果不合理,那测试结果根本就没有参考价值,而且,你也没法回答下面这个问题:
你的压测是如何模拟生产环境中实际业务的?
所以,场景设计很重要(比例、加压方式、参数化数据、铺底数据)!!!
混合压测场景的重要性!!!
在我们的生产环境中,基本上都是混合场景,也就是说,服务器在处理着不同的业务请求,
而不同的业务请求处理逻辑不一样,对服务器资源的消耗就不一样,所以,我们压测要模拟实际的业务比例,否则,压测结果是没有参考价值的。
业务比例获取,迭代项目,参考:https://www.cnblogs.com/uncleyong/p/15527484.html
下面举例混合场景的设计。
补充:比例获取
基于ELK实现性能测试业务模型及tps提取:https://www.cnblogs.com/uncleyong/p/15179752.html
k8s集群搭建EFK(ElasticSearch + Fluentd + Kibana)日志平台、以及基本使用:https://www.cnblogs.com/uncleyong/p/15527484.html
混合场景设计:无关联关系
业务A:业务B = 3:1
下面是1个线程循环100次的结果,你也可以在线程组中设置持续时间来验证
混合场景设计:有关联关系
业务A:业务B = 3:1
下面是1个线程循环100次的结果,你也可以在线程组中设置持续时间来验证
案例:一位提升群小伙伴的问题
问题描述及分析:
请求1,2,3,4无关联
业务A包含请求1和请求2,通过统计,二者比例是:2:1
业务B包含请求3和请求4,通过统计,二者比例是:1:4
通过统计计算,4个请求的比例是:10:5:1:4,所以业务A:业务B = 3:1
案例实现:吞吐量控制器嵌套
说明:你也可以在线程组中设置持续时间来验证
结果:可以看到控制了比例
补充:关于嵌套吞吐量控制器
嵌套的如果超过100%,下面100+50>100,可以看到结果没满足业务比例
吞吐量控制器-业务A:75
吞吐量控制器1:100
吞吐量控制器2:50
吞吐量控制器-业务B:25
吞吐量控制器3:20
吞吐量控制器4:80
如果不到100%,50+20<100,结果也没满足业务比例
吞吐量控制器-业务A:75
吞吐量控制器1:50
吞吐量控制器2:25
吞吐量控制器-业务B:25
吞吐量控制器3:5
吞吐量控制器4:20
案例其它实现:有同学说可以通过“吞吐量控制器 + 循环控制器”,是否可行呢?
假如设计如下:
可以看到,比例没控制到
这里如何解决?
思考1:解决上面“吞吐量控制器 + 循环控制器”的问题
参考:
思考2:一个线程组下,不同吞吐量控制器下的请求执行顺序是?
参考:
【答疑】几个关于混合场景中比例控制的问题
参考:https://www.cnblogs.com/uncleyong/p/16950853.html
【案例实战】完整性能测试实战
jmeter + k8s + 微服务 + skywalking + arthas + efk,测试都在学的热门技术:
https://www.cnblogs.com/uncleyong/p/15475614.html
原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/12667392.html
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!