Kes*_*hav 4 jmeter performance-testing throughput
我需要将应用程序的负载划分为一些百分比,即登录模块 - 60%,帐户 - 10%,其他模块 - 30%。经过一番研究后,我在 jmeter 的吞吐量控制器部分下找到了一个选项,使用它我可以控制这些百分比。我在那里找到一个名为“每个用户”的复选框。现在我没有得到这个复选框。
根据 blazemeter 博客,我尝试了如下一种场景,并选中了“每用户”复选框。
现在,根据博客,特定事务应该执行 400 次。但该交易的执行为零。
我尝试了另一种情况,选中了“每用户”复选框。
现在,根据博客,特定事务应该执行 600 次。但它执行了10次。
那里的专家可以分享我在这里做错了什么吗?或者需要更清楚地了解此复选框的工作原理。
要了解吞吐量控制器(TC),只需添加一个 TC 和一个采样器(在 TC 内部)并Aggregate Report组合起来即可。然后,使用Throughput Controller.
来自官方文档:
执行总数:在发生一定数量的执行后,导致控制器停止执行。
和
每个用户:如果选中,每个用户将导致控制器计算是否应该在每个用户(每个线程)的基础上执行。如果未选中,则计算将对所有用户进行全局计算。例如,如果使用总执行模式,并取消选中“每个用户”,则给出的吞吐量数将是执行的总数。如果选中“每个用户”,则执行总数将是用户数乘以给定的吞吐量数。
仔细阅读这两个声明多次。
在您指定的两种场景中,最大执行次数均为 10。(线程数 * 循环数)。尽管您将总执行次数指定为 40 或 60,但首先,您应该提供超过 60 个,以便看到所有 40/60 迭代都得到执行。因此,始终指定比总执行次数更多的迭代(使用线程计数和循环计数)。
You have to consider Percentage Executions instead of Total Executions to match your requirements。再次,我建议模拟一个样本并通过改变百分比来了解行为。
以下是一些场景和预期行为 (EB)。
场景:1
线程组 - 10,循环计数 - 1,吞吐量 - 40(执行总数),每个用户 - 已选中。
EB:Sampler 将仅运行 10 次。
场景:2
线程组 - 40,循环计数 - 1,吞吐量 - 40(执行总数),每个用户 -已选中。
EB:Sampler 将仅运行 40 次。
场景:3
线程组 - 40,循环计数 - 1,吞吐量 - 40(执行总数),每个用户 -未选中。
EB:Sampler 将仅运行 40 次。
场景:4
线程组 - 100,循环计数 - 1,吞吐量 - 40(执行总数),每个用户 -已选中。
EB:Sampler 将仅运行 100 次。计算每个用户是否执行了40次。由于未达到限制,因此将执行全部 100 次迭代。
场景:5
线程组 - 100,循环计数 - 1,吞吐量 - 40(执行总数),每个用户 -未选中。
EB:Sampler 将仅运行 40 次。按全球水平计算。当所有线程的采样器达到 40 次时,停止执行它。
场景:6
线程组 - 100,循环计数 - 40,吞吐量 - 40(执行总数),每个用户 -已选中。
EB:采样器将运行 400 次(每个用户 -> 40 次,100*40)。计算每个用户是否执行了40次。在这里,甚至每个用户限制也达到了,并且在 40 后不再执行。
场景:7
线程组 - 100,循环计数 - 1,吞吐量 - 40(执行总数),每个用户 -未选中。
EB:Sampler 将仅运行 40 次。按全球水平计算。当所有线程的采样器达到 40 次时,停止执行它。
| 归档时间: |
|
| 查看次数: |
1479 次 |
| 最近记录: |