Jmeter压测分配业务比例

在进行综合场景压测时,由于不同的请求,要求所占比例不同,如何实现呢?

不同的请求,服务器对其处理能力不同,有的处理快,有的处理慢。

真实模拟按比例进行并发:

在使用LR进行过类似场景的测试

思路是:每次向服务器发出请求时,先生成一个随机数,我们对随机数的取值划分若干个范围(对应若干个业务请求),然后对随机数进行判断,当随机数落在某个范围内,就可以执行对应的请求。

比如,我们压测的过程中,要访问百度和51ste,并且请求比例是2:8,那么可以规定随机数取值1<=random<=100,然后再划分2个范围:当随机数的取值在80到100之间((80,100])。

则访问百度;当随机数取值在1和80之间([1,80]),则访问51ste;根据概率论,当取样量足够大的话,访问百度和51ste的请求比例会比较接近2:8.也可以在LR在场景设计里设置不同的请求的比例,来实现。

下面我们就用Jmeter能否实现这种要求

1、首先,我们需要一个能够生成随机数的函数,刚好JMeter提供了这个函数,在测试计划下,我们右键“添加”>配置原件>Random Variable

图片

2、设置随机数的变量名称为test,设置取值范围1到100

图片

3、添加线程组,右键线程组添加“逻辑控制器”——如果(If)控制器

图片

4、添加判断条件,如果随机数<=80

图片

5、在If控制器下面 添加>Sampler>HTTP请求,访问51ste

图片

6、添加判断条件,如果随机数>80

图片

7、在If控制器下面 添加>Sampler>HTTP请求,访问百度

图片

8、我们在线程组下 添加>后置处理器>Debug PostProcessor,好展示随机数取值情况

图片

9、在线程组 添加>监听器>用表格察看结果

图片

10、在线程组中设置10个线程数

图片

11、运行jmeter验证,取值是否按照比例请求,结果如下,访问51ste 8次,访问百度2次

图片

12、在线程组 添加>监听器>察看结果树,再次运行查看结果,在请求Debug PostProcessor中的响应数据中查看随机数取值情况

图片

问题思考:设置10个线程数,循环执行10次,会有什么结果?

实际还可以使用 Throughput Controller 实现业务比例的控制

学习资料/接口/项目等需要领取:需要+\/ →it7411

最新软件测试+进阶测试全套【自学资料包】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈伟-GodGreat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值