【问题标题】:Jmeter threadgroup sharing counter between threads线程之间的Jmeter线程组共享计数器
【发布时间】:2016-08-13 16:03:42
【问题描述】:

我想在 jmeter 中创建一个线程组来创建具有许多(例如 5000 个)设备的用户及其设备。

创建此测试没有问题,我希望用户和设备的名称按相关顺序排列。

1. user1--device1 
2. user2--device2
3. user3--device3

我已经创建了测试,但是要在同一个线程组中创建 5000 个用户和设备,我需要使用 1 个线程运行 5000 次迭代,每个迭代有 3 个请求,因为否则我有多个线程重复的相同用户名(例如带 3 个线程)

1. user1--device1 
2. user2--device2 
3. user3--device3 
4. user1--device1
5. user2--device2
6. user3--device3
7. user1--device1
8. user2--device2    
9. user3--device3

我的问题是:有没有办法在线程之间共享循环计数器,以便创建 5000 个具有多个线程(例如 20 个线程)的用户/设备。 这对我有很大帮助,因为创建用户只需一分钟,而不是等待 20 分钟。

非常感谢!

http://pastebin.com/S1izFC9r

添加了解释,例如我想要最多 9 个设备 (counter_max),但我想用 3 个线程运行它。我希望结果是这样的

  1. thread1--user1-device1
  2. thread2--user2--device2
  3. thread3--user3--device3
  4. thread1--user4--device4
  5. thread2--user5--device5
  6. thread3--user6--device6
  7. thread1--user7--device7
  8. thread2--user8--device8
  9. thread3--user9--device9

【问题讨论】:

  • 当然,只要有一个“为每个用户独立跟踪计数器”未选中的计数器,它就会跟踪所有线程的计数器。或者分享你的计划,看看你目前在做什么。
  • 为了复制到这里,我最大限度地简化了脚本。它只创建租户(用户)。订单部分没有问题。我想在不同的线程中创建连续的租户。我刚刚附上了文件
  • 如前所述,您需要取消选中计数器中的“为每个用户独立跟踪计数器”选项。在您的脚本中,我可以看到它已被选中:<boolProp name="CounterConfig.per_user">true</boolProp>
  • 在回复之前我已经尝试过将此设置为 false,但它不起作用。到家后我会在一小时内再试一次。非常感谢!
  • 你好,Kiril,我已经尝试过,柜台的工作方式也一样,我想做个例子。我想我没有很好地解释我想要什么。例如,如果我将最大计数器设置为 3,并且我在线程组中有 3 个线程,我希望它能够像这样工作(添加到一般问题)

标签: java jmeter


【解决方案1】:

我认为您可以在 "global" 模式下使用__counter() 函数来实现它,例如:${__counter(FALSE,)}

  • __counter() 函数每次调用都会返回递增值
  • 在“全局”模式下,计数器值在线程间共享

因此,您应该能够根据需要使用尽可能多的线程,并且每个线程将使用下一个计数器值来创建具有多个线程的用户和设备。

有关使用“计数器”配置元素和功能的全面信息,请参阅 How to Use a Counter in a JMeter Test 文章。

【讨论】:

  • 谢谢你,这是我所期待的 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-14
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
  • 2019-02-09
  • 1970-01-01
相关资源
最近更新 更多