使用jmeter

时间:2018-04-11 10:46:11

标签: multithreading jmeter

我正在使用JMeter 4.0尝试创建压力测试。目的是模拟我们在生产中收到的请求类型,这些请求通常是具有特定频率的不同类型的请求数组,并且在几毫秒内偶尔(1/1000)相同类型的重复请求彼此。

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

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

这不太理想。如果必须的话,我会满足于此,但我希望stackoverflow的聪明才智可以为我的问题提供一些见解。

我有过一些想法:

  • 添加一个运行计数器,循环每1000个正常请求,一旦运行计数器达到1000,我执行第二个请求(虽然它将在同一个线程下, 之后我收到了来自首先)。可以使用同步计时器吗?
  • 使用常量吞吐量计时器,其中“所有活动线程(共享)”设置为每分钟样本数设置为1000.

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

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

您可以每1000个帖子添加条件为1的If Controller

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

和内部如果Controller执行您的重复HTTP请求