• Jmeter配置不同业务请求比例,应对综合场景压测


    需求:

    • 每次向服务器发出请求时,先生成一个随机数,我们对随机数的取值划分若干个范围(对应若干个业务请求),然后对随机数进行判断,当随机数落在某个范围内,就可以执行对应的请求。
    • 比如,我们压测的过程中,要访问百度和besttest官网,并且请求比例是2:8,那么可以规定随机数取值1<=random<=100,然后再划分2个范围:当随机数的取值在0到20之间,则访问百度;当随机数取值在20和100之间,则访问besttest官网;根据概率论,当取样量足够大的话,访问百度和besttest官网的请求比例会比较接近2:8。

    Jmeter实现(Random)

    首先,我们需要一个能够生成随机数的函数,刚好jmeter提供了这个函数

    在测试计划下,我们右键“添加”——配置原件——Random Variable

    设置随机数的变量名称为num,设置取值范围0到100

    添加两个如果(if)控制器,添加控制条件,控制执行请求。

    右键线程组添加“逻辑控制器”——如果(if)控制器

    然后在两个控制器下,分别添加1个http请求。

    当随机数num取值在20和100之间;调用获取图形获取验证码;

    添加判断条件,如果当随机数num取值在1和20之间,调用登录接口

    添加聚合报告,查看结果

    运行jmeter验证,取值是否按照比例请求,我们设置一个线程数,让其循环100次,结果如下,获取图形获取验证码78次,登录接口22次,基本满足我们想要的比例。

    可以预见的是当数据量达到一定程度之后,会无限接近设置的2比8的比例。

    Jmeter实现(计数器)

    计数器可以通过如下方式添加,其他的实现思路一样

    后话:
    其实在LR中也可以在场景设计里设置不同的请求的比例来实现。但是本文主要是讨论Jmeter的实现思路,所以在前文中没有提及。

  • 相关阅读:
    celery 转自:https://www.cnblogs.com/pyedu/p/12461819.html
    k8s 学习笔记
    linux 学习笔记3
    yaml initc
    vi 块操作
    curl
    知名IT互联网公司
    ajax 上传文件给webapi(带basic认证)
    C# 后台请求api
    mvc 母版页保持不刷新
  • 原文地址:https://www.cnblogs.com/uestc2007/p/14716189.html
Copyright © 2020-2023  润新知