在1小时内命中2000个请求,部分来自插槽'A'和插槽'B'

时间:2016-10-26 08:23:12

标签: request jmeter test-plan

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

我想在1小时内点击 2000个请求,从插槽A中获得80%命中,从插槽B中获得20%,最后,我需要分享响应时间。

我是怎么做的:

`**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次请求后自动结束吗?如何确保。
  4. 如果你看到非常愚蠢的问题,请原谅。我是Jmeter的新手。

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

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

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

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

    enter image description here

    问题3:它是随机选择还是顺序选择http请求,我希望它随机选择,但它是顺序选择,即所有9个用户确实击中了同一页面然后接下来的9个用户点击下一页等等...但是我希望每组9个用户都能点击随机网址。

1 个答案:

答案 0 :(得分:1)

检查样本测试计划。

可以通过Throughput Controller + Constant Throughput Timer

来实现

恒定吞吐量计时器 - 目标吞吐量设置为34 / min,可达到2000个/小时的请求。

如果请求总数为550,则插槽A为440,插槽B为110. 80/20工作得非常好。

enter image description here

更新

  1. 请注意,您/小时可能没有2000个请求。 JMeter将努力实现这一目标。大多数在那个范围内。最低2000 /小时。 (我将目标吞吐量设置为34 / min.JMeter执行34.1 / min)如果您的应用程序无法在1小时内处理这么多请求,显然JMeter无法发送2000个请求。

  2. 您可以将线程组的持续时间设置为3600,以便在1小时后自动停止。将循环计数设置为永久。或者让循环计数为2000。无论时间流逝还是达到计数,JMeter都会自动停止测试。

  3. 如果2000个请求/小时是服务器的总吞吐量,那么线程组的用户似乎并不重要。您甚至可以通过1位用户实现此目的。 (我不知道你的应用程序 - 所以首先从几个用户开始。如果你无法获得2000 /小时,那么添加更多用户)

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

  5. 示例测试计划已上传here