首页 > 解决方案 > 恒定吞吐量计时器无法正常工作

问题描述

我有 40 个用户的单线程组。我在里面有 5 个 http 请求。各有各的constant throughput timer。例如。我给了 7transactions per minute参数calculate throughput based onall active threads.

在实际执行中,1 hour1 小时内执行了 111 笔交易,而不是 420 笔。这个计时器是如何工作的??

1st http request - 1/ min - executed - 111 records from csv
2nd - 2/min - 111 records
3rd - 7/min - 111 records
4th - 7/min - 111 records
5th - 5/min - 80 records

在其中一个 csv 文件中,我有 111 条记录。是因为这个吗??在实际情况下,本应仅以 1/min 执行 60 次。这个计时器是如何工作的?我们应该使用什么来获得预期的吞吐量?如何根据吞吐量和线程数计算要在 csv 中维护的记录数?

根据答案更新了流程 -

未选中连续运行线程组。

-Setup thread Group(10 users)
    ++Once only Controller
       ++login request

-Thread Group1(10 users)
    ++Constant throughput timer (5/min) all active threads
    ++Http Request1

-Thread Group12(10 users)
    ++Constant throughput timer (10/min) all active threads
    ++Http Request2

仍然无法正常工作。我错过了什么。

标签: jmeterperformance-testingjmeter-4.0

解决方案


您的设置没有意义,不可能在单个线程组下拥有具有不同吞吐量的采样器,因为:

  1. JMeter 线程颠倒执行采样器
  2. JMeter 线程等待前一个采样器完成,然后再开始下一个采样器

因此,您的线程将始终以“最慢”采样器的速度运行。

如果您想让不同的请求以不同的速率运行 -将它们移动到不同的线程组


推荐阅读