Bootstrap

JMeter多个请求按照比例并发压测的几种方式

 

  • 一、需求

    在压测的过程中,为了能够压测整个链路,通常需要多个接口进行并发, 每个接口的请求比例不尽相同。

    比如此时此刻,我在写博客,很多人在浏览博客,或者点赞、评论博客等等等,这些行为占比是不同的。

    那么,我们怎么才能尽可能的模拟线上真实场景,对每个接口按照比例并发呢?

    实现方法如下:

     

    二、实现方法

    设定一个用作讲解的并发场景:

    比如,同一时刻,点赞博客的请求占比10%,查看博客的请求占比90%,比例是1:9。

     

    1、对每个请求设置循环次数。

    如上场景,我们可以为查看博客的请求设置循环次数为9。

    右击【查看】请求→【插入上级】→【逻辑控制器】→【循环控制器】→【循环次数】设置为9→【运行】→【查看结果树】

    1258817-20210113155825803-1755058978.png

     

     1258817-20210113160130765-1149013810.png

     

    在请求的名称后面加上这个参数,就可以看到请请求的顺序:${__counter(true,i)}

    ${__threadNum}:统计线程数

    ${__counter(true,i)}:只统计该用户的迭代次数,

    ${__counter(false,i)}:统计所有用户的迭代次数,

    ${__threadNum}_${__counter(true,i):统计每个线程下,每个用户的迭代次数。

     

     1258817-20210126143521681-1467225195.png

     

     1258817-20210113160448861-1274039313.png

     

     可以看出,【点赞】请求执行了1次,【查看】请求执行了9次

     

     

    2、通过switch controller来实现实现

    switch controller类似于程序中的switch函数,该Control

;