【问题标题】:Jmeter - Calculating Ramp-up periodJmeter - 计算加速期
【发布时间】:2020-03-04 12:06:16
【问题描述】:

我尝试在 5 分钟内每分钟向我的 API 端点发送 1100 个请求,因此我总共将向端点发送 5500 个请求。

基于上述要求,以下是我设置 Jmeter 的方式:

我好像配置错了 Jmeter,因为最后我可以看到 Jmeter 向 API 发出了 8401 请求,而不是 5500

我在配置中遗漏了什么?

“无限”复选框需要选中还是取消选中?

【问题讨论】:

标签: jmeter performance-testing


【解决方案1】:

此测试计划的预期请求数(5500错误

按照您的期望,我认为您在线程和请求之间混淆了。

加速是所有用户到达您测试的应用服务器的时间。

请求是由采样器模拟的,而线程是对用户的模拟。

根据您的测试计划:

- Total Number of Threads: 1100 vitual users
- Ramp-up time: 60 (1 min)
- Loop count: Infinite
- Test duration: 300 sec (5 min)
- No of requests/sampler in Test Plan: Unknown, assuming it 1

JMeter 执行:

JMeter 将根据启动时间启动60 seconds 中的这 1100 个虚拟用户。因此,(1100/60)~ 18 用户将在测试的第一分钟每秒都处于活动状态。每个线程/用户将执行您在测试计划层次结构中定义的请求或采样器。由于您已将循环计数定义为infinite,因此每个线程将重复执行请求,直到测试完成。 60 秒后,您的所有 1100 名用户将在剩余的 4 分钟内积极点击这些采样器/请求。

因此,您可以通过 JMeter 发出的请求总数取决于您的应用程序响应时间

如果您的请求的平均响应时间是 1 second (assuming you have only 1 requests in your test plan),那么您将能够在测试的最后 4 分钟(当您的 1100 个用户都处于活动状态时)达到总计 264000 (264000/240 = 1100 requests per second)。您还可以使用Active Threads Over TimeHits Per Second 侦听器进行相应的验证。

因此,请仔细检查您的应用程序的平均响应时间或您在测试计划中使用的请求/采样器。

如果您想将 JMeter 的吞吐量控制在 1100 per minute,您可以在您的测试计划级别使用 Constant Throughput Timer 并使用 target throughput value as 1100

不要忘记在您的测试持续时间中添加ramp-down time 的计数。是的,当你加速时,即在第一分钟,通常你会在线程启动时收到更多请求。在您的情况下,您的测试持续时间应该是7 mins (60 seconds for the ramp-up 1100 users + 300 seconds for 5500 requests + 60 seconds for the ramp down for 1100 users)

您也可以查看此主题以了解更多信息:How should I calculate Ramp-up time in Jmeter

请注意-请求总数与吞吐量有关,而执行相同活动的活动线程数与并发性有关。

【讨论】:

    【解决方案2】:

    我尝试在 5 分钟内每分钟向我的 API 端点发送 1100 个请求,因此我总共将向端点发送 5500 个请求。

    我不知道你是怎么得到这个5500 号码的,但这不是很正确。

    您的设置意味着:

    1. JMeter 将每秒添加 18 个虚拟用户,持续 60 秒
    2. 60 秒过后,JMeter 将再运行 1100 个用户 4 分钟

    JMeter 能够发出的请求总数主要取决于应用程序响应时间

    如果您想将 JMeter 的吞吐量限制为每分钟 1100 个请求,请考虑使用 Constant Throughput TimerPrecise Throughput Timer

    如果您不想限制 JMeter 的吞吐量但希望执行 5500 次:

    • 将“循环计数”设置为 5(但在这种情况下,您可能无法获得 1100 个并发用户)
    • 或者在Total Executions模式下使用Throughput Controller,这样JMeter会在执行5500个请求后停止

    【讨论】:

    • 我通过将 1100 请求乘以 5 分钟得到 5500,因此 1100x5=5500
    猜你喜欢
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    相关资源
    最近更新 更多