【问题标题】:How can I increment a counter every N loops in JMeter?如何在 JMeter 中每 N 个循环增加一个计数器?
【发布时间】:2010-07-13 14:35:07
【问题描述】:

我想测试并发性,并可靠地复制 JMeter 引起我注意的问题。

我想要做的是设置一个唯一标识符(当前时间以毫秒为单位,并附加一个计数器)并在循环之间而不是线程之间增加计数器。我的想法是我设置的线程数是在递增和使用另一个标识符之前的相同标识符的数量。

如果我有 3 个循环计数为 2 的线程,我想要:

1. Unique ID: <current-time-in-millis>000000
2. Unique ID: <current-time-in-millis>000000
3. Unique ID: <current-time-in-millis>000000
4. Unique ID: <current-time-in-millis>000001
5. Unique ID: <current-time-in-millis>000001
6. Unique ID: <current-time-in-millis>000001

我尝试过使用吞吐量控制器来增加计数器,以及其他一些似乎应该可以工作但没有运气的东西。这似乎是 JMeter 应该能够做到的。有什么方法可以获取循环计数的值吗?

【问题讨论】:

    标签: concurrency loops jmeter increment


    【解决方案1】:

    Counter 是解决方案吗?

    或使用__intSum

    初始化变量(例如在“用户定义的变量”中):

    Name:       | Value
    ------------+---------
    LoopCounter | 0
    

    在需要的地方使用增量:

    ${__intSum(${LoopCounter},1,LoopCounter)}
    

    使用:

    ${LoopCounter}
    

    【讨论】:

      【解决方案2】:

      您是否尝试过使用预处理器计数器元素上的“为每个用户独立跟踪计数器”选项?

      我的理解是,这应该为每个线程组提供一个单独的计数器。

      【讨论】:

      • 谢谢!我已经看到了这个选项,并且确信我已经尝试过了。它现在似乎工作得很好。
      • 我假设 ${__counter(TRUE,counterVar)} 每当它被调用来进行增量时也应该工作?并且您可以在第一次调用计数器后将变量引用为 ${counterVar},而无需增加计数。随后调用具有相同变量名称的计数器将增加它。此方法不需要计数器元素。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 2010-10-26
      相关资源
      最近更新 更多