1 小时内达到 2000 个请求,部分来自槽 'A' 和槽 'B'

Hit 2000 requests in 1 hour, partially from slot 'A' and from slot 'B'

我在两个插槽 'A' 和 'B' 中总共获得了 900 个 URL(页面),让 500+400。

我想在 1 小时内命中 2000 个请求,其中 80% 的命中来自槽 A,20% 的命中来自槽 B,最后,我需要分享响应时间。

我是如何尝试的:

`**TestPlan**
   -**ThreadGroup-SlotA** - Number of threads=20,Ramp up=2 sec, Loop=1
      -Constant Throughput Timer = 35 (All active threads in current thread group)
      -View Tree Report
      -jp@gc Response Times over Time
   -**ThreadGroup-SlotB** - Number of threads=9, Ramp up=1 sec, Loop=1
      -Constant Throughput Timer = 35 (All active threads in current thread group)
      -View Tree Report
      -jp@gc Response Times over Time`  

我是运行它来自命令行

jmeter -t c:\Users\Admin\Desktop\Jmeter\ThreadAandB.jmx -n -l c:\Users\Admin\Desktop\Jmeter\Reports\Reports.csv -JTEST_RESU
LTS_FILE=c:\Users\Admin\Desktop\Jmeter\Reports\Results.csv

查询:

  1. 这个计划是否准确地满足了这个要求,如何在纸面上计算用户达到 X 启动时间等?
  2. 如何找出它从哪个插槽中占了多少百分比?如果不能解决需求如何配置满足每个插槽的需求?
  3. 测试会在 1 小时后自动结束还是在 2000 次请求后自动结束?如何确保。

如果您看到非常愚蠢的问题,请原谅。我是 Jmeter 的新手。

编辑: 已经完成了这个,但无法弄清楚如何将它实际放入 Jmeter 中。 Testing with JMeter: how to run N requests per second

@vins 我的评论已达到字数限制,所以提出我的问题。请看:

问题 1:我在测试计划中创建了两个线程组(参见问题描述),在这些线程组中我有 500 个 http 页面,但在你的屏幕截图中你只有线程组但有两个吞吐量控制器,在吞吐量控制器中你有http请求。这两种方法的目的相同?

问题 2:要从第一个线程组获得 80% 的请求,我们是否需要在 throughput controllerpercent executions 下拉列表中提供 80?

问题 3:它会随机还是按顺序选择 http 请求,我希望它随机选择,但它是按顺序选择的,即所有 9 个用户都点击了同一页面,然后接下来的 9 个用户点击了下一页,依此类推。 .但我希望每组 9 个用户都能访问随机 URL。

检查样本测试计划。

可以通过Throughput Controller+Constant Throughput Timer

实现

Constant Throughput Timer - 目标吞吐量设置为 34/分钟以实现 2000 个请求/小时。

当请求总数为 550 时,槽 A 为 440,槽 B 为 110。80/20 效果很好。

更新:

  1. 请注意,您可能不会正好有 2000 个请求/小时。 JMeter 将尝试实现这一目标。大多在那个范围内。最低 2000/小时。 (我把目标吞吐量设置为34个/分钟。JMeter做了34.1个/分钟)如果你的应用程序不能在1小时内处理那么多请求,显然JMeter不能发送2000个请求。

  2. 可以将线程组的持续时间设置为3600,1小时后自动停止。将循环计数设置为永远。或者让循环计数为 2000 。 JMeter 将在时间过去或达到计数时自动停止测试。

  3. 如果2000个请求/小时是服务器的整体吞吐量,线程组的用户数似乎并不重要。您甚至可以通过 1 个用户实现这一目标。 (我不知道你的申请 - 所以先从几个用户开始。如果你无法获得 2000 / 小时,然后添加更多用户)

  4. 您不需要 2 个线程组。 [可能是我没有完全理解问题]。假设您有 2 组 URL。让我们在 2 个不同的 CSV 文件中维护它们。使用 2 个 CSV 配置,我们可以确保一个 URL 只被一个用户命中。

示例测试计划已上传 here