遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

性能测试中混合场景设计举例

你能回答领导的这个问题么?

很多测试朋友在做压测的时候,都是把脚本调通,设置一个线程数就开跑,完全不考虑场景是否设置合理,

如果不合理,那测试结果根本就没有参考价值,而且,你也没法回答下面这个问题:

你的压测是如何模拟生产环境中实际业务的?

所以,场景设计很重要(比例、加压方式、参数化数据、铺底数据)!!!

 

混合压测场景的重要性!!!

在我们的生产环境中,基本上都是混合场景,也就是说,服务器在处理着不同的业务请求,

而不同的业务请求处理逻辑不一样,对服务器资源的消耗就不一样,所以,我们压测要模拟实际的业务比例,否则,压测结果是没有参考价值的。

业务比例获取,迭代项目,参考: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

 

posted @ 2020-04-09 12:45  全栈测试笔记  阅读(3838)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end