java - Jmeter线程组线程间共享计数器

标签 java jmeter

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

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

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

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

我的问题是:是否有任何方法可以在线程之间共享循环计数器,以便创建具有多个线程(例如 20 个线程)的 5000 个用户/设备。 这将对我有很大帮助,因为创建用户只需一分钟,而不是等待 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

最佳答案

我认为您可以使用 __counter() 来实现它在“全局”模式下运行,例如:${__counter(FALSE,)}

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

Counter Global Demo

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

参见 How to Use a Counter in a JMeter Test有关使用“counter”配置元素和函数的综合信息的文章。

关于java - Jmeter线程组线程间共享计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38934550/

相关文章:

java - 删除一个链接如何从链表中删除一个节点?

java - Selenium WebDriver Java Cycle 在同一字段中添加单词

java - JMeter 负载测试期间出现无法解释的日志记录问题

mysql - JMETER + 关于Mysql数据库的查询

testing - Jmeter 分布式测试问题

java - 为什么这不会打印任何整数?

Java - 读取文本文件

java - 如何为非 ID 字段使用序列生成器?

testing - 不用插件保存JMeter汇总表数据?

jmeter - 如何在Jmeter中的每个请求之间插入延迟