【问题标题】:Jmeter - What is the functioning of “Per User” checkbox under Throughput Controller?Jmeter - 吞吐量控制器下“每个用户”复选框的功能是什么?
【发布时间】:2016-12-22 11:10:01
【问题描述】:

我需要将我的应用程序的负载划分为一些百分比,即登录模块 - 60%,帐户 - 10%,其他模块 - 30%。经过一些研究,我在 jmeter 的 Throughput Controller 部分下找到了一个选项,我可以使用它来控制这些百分比。我在那里找到一个名为“每个用户”的复选框。现在我没有得到这个复选框。

根据此处的 blazemeter 博客,我尝试了以下一种方案,其中“每个用户”复选框选中

  • 从下拉列表中选择“总执行”。
  • 将吞吐量标记为 40。
  • 使用的线程 - 10,循环计数 1

现在,根据博客的具体事务应该执行 400 次。但该交易的执行为零。

我尝试了另一种情况,其中“每个用户”复选框选中

  • 从下拉列表中选择“总执行”。
  • 将吞吐量标记为 60。
  • 使用的线程 - 10,循环计数 1

现在,根据博客的具体事务应该执行 600 次。但它执行了 10 次。

那里的任何专家都可以分享我在这里做错了什么吗?或者需要更清楚地了解此复选框的工作原理。

【问题讨论】:

  • 您是否包含要在吞吐量控制器内部发送的采样器?该元素控制其子元素的行为。也许您可以在 Jmeter 场景中添加屏幕,以更好地了解您想要实现的目标
  • 是的,里面有一个采样器。它只是一个,因为在实施它之前,我想了解它。

标签: jmeter performance-testing throughput


【解决方案1】:

要了解Throughput Controller(TC),只需添加一个TC和一个采样器(TC内部)和Aggregate Report组合。然后,使用Throughput Controller 中的所有参数。

来自官方文档:

执行总数: 导致控制器在执行一定次数后停止执行。

每用户:如果选中,每用户将导致控制器计算 它是否应该在每个用户(每个线程)的基础上执行。如果 未选中,则计算将对所有用户都是全局的。为了 例如,如果使用完全执行模式,并取消选中“per user”,则 为吞吐量给出的数字将是执行的总数 制作。如果选中“per user”,则执行总数 将是用户数乘以给定的吞吐量数。

仔细阅读这两个陈述。

在您指定的两种方案中,最多执行 10 次。(线程计数 * 循环计数)。尽管您将 Total Executions 指定为 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:采样器只会运行 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:采样器只会运行 40 次。在全球层面计算。当所有线程的采样器达到 40 次时,停止执行它。

场景:6

线程组 - 100,循环计数 - 40,吞吐量 - 40(总执行次数),每个用户 - 已检查

EB:采样器将运行 400 次(每个用户 -> 40 次,100*40)。计算每个用户是否执行 40 次。在这里,即使每个用户也达到了限制,并且在 40 之后不再执行。

场景:7

线程组 - 100,循环计数 - 1,吞吐量 - 40(总执行次数),每个用户 - 未选中

EB:采样器只会运行 40 次。在全球层面计算。当所有线程的采样器达到 40 次时,停止执行它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多