【问题标题】:JMeter number of threads in a runJMeter 运行中的线程数
【发布时间】:2017-11-23 07:09:28
【问题描述】:

我对 jmeter 很陌生,并尝试对我的应用程序进行性能测试。我想每秒生成 100 个请求,但是我的服务器需要 3-4 秒来响应每个请求。我正在运行我的测试 1 分钟,这意味着在时间跨度内触发的请求数应该是 60k。然而,jmeter 在发送下一个请求之前实际上会等待响应。这不是我要找的。

如何确保 jmeter 在不等待响应的情况下每秒以 100 个请求/秒发送一个新请求,以便每分钟触发的请求数为 60k。

我正在尝试使用每分钟 60k 的恒定吞吐量计时器作为请求,但这无济于事。这是我的测试截图。

编辑

我已经这样做了

而吞吐量整形计时器为

所以理想情况下,我应该得到 3000 个样本?仍然没有得到。

【问题讨论】:

标签: jmeter performance-testing


【解决方案1】:

确保在Thread Group 下提供足够的线程(虚拟用户),如果实际吞吐量小于您在恒定吞吐量计时器中指定的目标,“vanilla”JMeter 不会启动任何额外线程。

另一种解决方案是使用Concurrency Thread GroupThroughput Shaping Timer。它们可以通过feedback loop 绑定在一起,因此如果您使用这些测试元素,如果当前数量不足以达到所需的每秒请求率,JMeter 将启动更多线程。

您可以使用JMeter Plugins Manager 安装两者

【讨论】:

  • 嘿 Dmitri,我已按照建议完成,请查看编辑...我现在应该在 1 分钟内看到样本数为 3000,但事实并非如此。如果我做错了什么,你能告诉我吗?我的服务器在 10 -11 秒内响应一个线程。所以 50*10 = 500 个线程应该能够满足这一点,但是我将上限保持为 2000。无法了解这是如何工作的。
【解决方案2】:

我的建议是考虑使用 Arrivals Thread Group。此 TG 将允许您配置期望的平均吞吐量 (ATP); TG 将实例化实现 ATP 目标所需的线程。

【讨论】:

    猜你喜欢
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 2023-01-16
    • 2020-01-02
    • 2016-03-20
    • 1970-01-01
    相关资源
    最近更新 更多