gpt4 book ai didi

multithreading - 偶尔使用jmeter进行重复请求

转载 作者:行者123 更新时间:2023-12-03 13:03:11 25 4
gpt4 key购买 nike

我正在使用JMeter 4.0尝试创建压力测试。目的是模拟我们在生产中收到的请求类型,通常是一系列具有一定频率的不同类型的请求,有时在毫秒之内(每千个中有1个)重复相同类型的请求。

我设法创建了一个模拟不同类型的频繁请求的线程组和一个模拟重复请求的第二个线程组(使用同步计时器来确保这些请求一起触发)。

我快完蛋了我唯一的问题是线程组之间没有任何关系。如果我想每1000个请求执行一次重复请求,则需要知道执行一个平均请求需要花费多长时间(由于存在多种请求类型,因此这很复杂)并计算所需的时间大约要发出1000个请求,并在另一个线程组中添加适当的常量计时器。

这不是理想的。如果需要的话,我会为此解决,但我希望Stackoverflow的聪明人可以为我的问题提供一些见识。

我有一些想法:

  • 添加一个运行计数器,该计数器每隔1000个正常请求循环一次,一旦运行计数器达到1000,我将执行第二个请求(尽管它将在同一线程下并且在收到第一个请求的响应之后)。可以使用同步计时器使其工作吗?
  • 使用设置为“所有 Activity 线程(共享)”的恒定吞吐量计时器,其每分钟样本数设置为1000。

  • 还有更好的方法吗?实际的请求是HTTP请求,尽管在准备要发送的消息之前需要执行几个步骤。我已经在第一个线程组(随机服务请求)中使用了恒定吞吐量计时器来维持每分钟特定数量的请求,因此我不确定是否在另一个线程组中添加第二个恒定吞吐量计时器会造成问题。

    感谢您的时间。

    最佳答案

    您可以添加If Controller,条件为每1000个线程1个

    ${__jexl3(${__threadNum} % 1000 == 0)}

    在内部,如果Controller执行重复的HTTP请求
  • __threadNum返回当前线程/用户号
  • 关于multithreading - 偶尔使用jmeter进行重复请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49773058/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com