jmeter - 恒定吞吐量计时器无法正常工作
问题描述
我有 40 个用户的单线程组。我在里面有 5 个 http 请求。各有各的constant throughput timer
。例如。我给了 7transactions per minute
参数calculate throughput based on
为all active threads.
在实际执行中,1 hour
1 小时内执行了 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
仍然无法正常工作。我错过了什么。
解决方案
您的设置没有意义,不可能在单个线程组下拥有具有不同吞吐量的采样器,因为:
- JMeter 线程颠倒执行采样器
- JMeter 线程等待前一个采样器完成,然后再开始下一个采样器
因此,您的线程将始终以“最慢”采样器的速度运行。
如果您想让不同的请求以不同的速率运行 -将它们移动到不同的线程组
推荐阅读
- python - Python 3 中的 __phello__ 是什么?
- flutter - Flutter 如何在 onTap 后使用 Gesture Detector 更改 SVG
- angular - ng2-pdf-viewer 最新版本(6.3.2)不适用于 60.0.312 版本的 chrome
- java - 如何使用按钮分享图像?
- java - 每 10 秒写入特定文件
- caching - 当有多个级别的私有缓存和共享内存时,缓存一致性如何工作?
- flutter - 如何从 Dart 中的文件中读取 ASCII 字符?
- networkx - 使用networkx查找具有多个父节点的节点
- javascript - React - 父类组件功能改变子组件的类
- html - 为什么在调整浏览器高度时外部容器 div 会缩小到其子元素之外?