首页 > 解决方案 > JMeter - 保持当前威胁活跃

问题描述

我想问一个关于如何执行我的负载测试场景的问题。我有多个威胁组,每个威胁组执行一个场景(获取、发布、放置请求),每个场景中的威胁数量不同。每个场景都需要 X(未知)时间来执行,具体取决于它有多少请求。我想要的是一起运行它们并在特定时间内保持负载(保持威胁处于活动状态)。

让我举个例子:

我想一起执行所有威胁组并保持负载 30 分钟。我遇到的问题可以说威胁组 1 只需 2 分钟即可执行,威胁组 2 只需 3 分钟,威胁组 3 只需 1 分钟。我不能勾选无限选项,因为我只有特定数量的数据可以使用。对于第一个场景,我有 75 个用户(数据),如果他们一旦执行该场景,他们就无法再次执行它,因此我需要另外 75 个我没有的(数据)。

有没有办法做到这一点?让每个威胁组中的威胁存活特定时间是否可行?或者会在特定时间内执行请求并覆盖整个持续时间的东西?(30 分钟)

在威胁组中设置参数,如下图所示,当每个场景结束时,它会关闭它的威胁,所以我永远不会让 30 个 v 用户在特定时间内并行运行。

在此处输入图像描述

在此处输入图像描述

下图显示场景 1(粉红色)比场景 2(参考)更快地结束其威胁。这里的设置如下:

  1. 每种情况下的威胁 5
  2. 加速 10 秒
  3. 持续时间 90 秒

在此处输入图像描述

标签: jmeterperformance-testingjmeter-5.0jmeter-4.0

解决方案


我可以理解您的查询,您有 75 个用户的数据,数据不能重复。你需要保持负载30分钟。

简而言之,我可以说除非您有更多数据,否则您无法承受这么长时间的负载,或者您可以重复数据。

如果 75 个用户只用了 1 分钟甚至 5 分钟,这意味着你没有增加人工反应时间。要添加它,您可以简单地使用计时器。这将延迟采样器的执行。


推荐阅读