我在两个插槽'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
查询:
如果你看到非常愚蠢的问题,请原谅。我是Jmeter的新手。
编辑:已经完成了这个但是无法弄清楚如何将它放在Jmeter中。 Testing with JMeter: how to run N requests per second
@vins 我的评论达到了字数限制,所以提出我的问题。请看一下:
问题1:我在测试计划中创建了两个线程组(请参阅问题描述),在这些线程组中我有500个http页面,但在屏幕截图中,您只有线程组,但有两个吞吐量控制器,在吞吐量控制器内,您有http要求。这两种方法都有同样的目的吗?
问题2:要获得第一个线程组的80%请求,我们是否需要在percent executions
的{{1}}下拉列表中提供80个?
问题3:它是随机选择还是顺序选择http请求,我希望它随机选择,但它是顺序选择,即所有9个用户确实击中了同一页面然后接下来的9个用户点击下一页等等...但是我希望每组9个用户都能点击随机网址。
答案 0 :(得分:1)
检查样本测试计划。
可以通过Throughput Controller
+ Constant Throughput Timer
恒定吞吐量计时器 - 目标吞吐量设置为34 / min,可达到2000个/小时的请求。
如果请求总数为550,则插槽A为440,插槽B为110. 80/20工作得非常好。
更新
请注意,您/小时可能没有2000个请求。 JMeter将努力实现这一目标。大多数在那个范围内。最低2000 /小时。 (我将目标吞吐量设置为34 / min.JMeter执行34.1 / min)如果您的应用程序无法在1小时内处理这么多请求,显然JMeter无法发送2000个请求。
您可以将线程组的持续时间设置为3600,以便在1小时后自动停止。将循环计数设置为永久。或者让循环计数为2000。无论时间流逝还是达到计数,JMeter都会自动停止测试。
如果2000个请求/小时是服务器的总吞吐量,那么线程组的用户似乎并不重要。您甚至可以通过1位用户实现此目的。 (我不知道你的应用程序 - 所以首先从几个用户开始。如果你无法获得2000 /小时,那么添加更多用户)
您不需要2个线程组。 [可能我完全没有理解问题]。让我们假设您有2组URL。让我们将它们保存在2个不同的CSV文件中。使用2个CSV配置,我们可以确保只有一个用户可以访问一个URL。
示例测试计划已上传here。