当吞吐量控制器具有子吞吐量控制器时,使用jmeter中的吞吐量控制器进行负载分配

时间:2018-12-12 16:29:38

标签: jmeter performance-testing load-testing throughput

请参考附件中提到的每个请求的预期数量。

如果我没有Action 2,我将很容易得出负载分布。

当吞吐量控制器动作1 中还有另一笔交易时,我陷入了困境。任何人都可以提出建议,当我仍然需要从吞吐量控制器值(%)导出到子请求时,该值是什么。

如果我添加了吞吐量控制器搜索操作1 吞吐量控制器操作2 ,那么我最终会为操作1 分配更多的空间。

希望我的要求很明确。任何人都可以建议我如何实现所有4个请求的预期负载。

Jmeter Script with Anticipated Volume

3 个答案:

答案 0 :(得分:0)

您可以选择:

enter image description here

如果您需要在{strong>之后 15 times后执行这些32 times个采样器,可以使用Inter-Thread Communication Plugin暂停它们,直到数据可用为止。

您可以使用JMeter Plugins Manager安装线程间通信插件:

enter image description here

答案 1 :(得分:-1)

如果您需要执行32个动作1 ,其中有15个(或18个或19个),然后执行动作2-您必须在“搜索”下放置一个而不是两个吞吐量控制器210的动作32”:

  • 首先从19个“动作1”中抽出,接着“动作1”从32个中抽出
  • second仅剩下剩余的13个“动作1”(而不是“动作2”)

这是您的目标吗?

答案 2 :(得分:-1)

在这里回答我自己的问题:

就像我说的,下面是我的吞吐量整形计时器。

Throughpu Shaping timer

虚拟用户为3,因为执行0.35 rps时将响应时间+思考时间视为10秒(0.35RPS * 10sec)

下面是工作量模型:

Work load model

启动和登录非常清楚,下面是我对action1和action 2的解释。

由于在210个请求中,有51个请求(动作1和操作2)应该属于一个流程,所以我需要有一个直通控制器作为父对象,这应该确保在210个请求中,有51个应该来自其子请求。结束了。

现在我不能让动作1承担全部51个负载,因为我的要求是32。因此,我将在51个动作1请求中承担32个负载((32/52 =父负载的62%)

现在,动作2的父级是动作1的负载。因此,我需要确保当控制权移交给行动1时(32次),我应该只允许其中19个继续进行。因此19/32 = 59%。

因此,我通过让父级吞吐量控制器承担不让其他吞吐量控制器承担超出指示的负载(启动和登录)的职责来实现所需的负载。

在测试实际应用程序时,我将高斯随机定时器值用作8秒(偏差为2秒)。