【问题标题】:JMeter frequency peaks when using ultimate thread group使用终极线程组时的JMeter频率峰值
【发布时间】:2020-08-10 14:49:03
【问题描述】:

我在 JMeter 中使用 Ultimate Thread Group 进行性能测试。结合计时器,我想动态扩展用户/线程的数量,同时每个用户都有一个恒定的吞吐量,例如10 个请求/秒。

当终极线程组增加用户数时,每秒总请求率会在短时间内出现高峰。高峰过后,请求率符合预期。

例如,我得到以下跟踪: 从 40 个用户开始,每个用户每秒 10 个请求:40 * 10 = 400 个请求/秒。 将用户数增加到 60 个,我预计 60 * 10 = 600 个请求/秒,但一开始我的峰值超过 3959 个请求/秒

summary = 366401 in 00:15:16 =  400.0/s Avg:     1 Min:     0 Max:  1071 Err:     0 (0.00%)
summary +  12000 in 00:00:30 =  400.0/s Avg:     1 Min:     0 Max:    20 Err:     0 (0.00%) Active: 40 Started: 40 Finished: 0
summary = 378401 in 00:15:46 =  400.0/s Avg:     1 Min:     0 Max:  1071 Err:     0 (0.00%)
summary +  12000 in 00:00:30 =  400.0/s Avg:     1 Min:     0 Max:    44 Err:     0 (0.00%) Active: 40 Started: 40 Finished: 0
summary = 390401 in 00:16:16 =  400.0/s Avg:     1 Min:     0 Max:  1071 Err:     0 (0.00%)
summary +  31784 in 00:00:30 = 1061.9/s Avg:     4 Min:     0 Max:   414 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 422185 in 00:16:46 =  419.7/s Avg:     1 Min:     0 Max:  1071 Err:     0 (0.00%)
summary + 118770 in 00:00:30 = 3959.0/s Avg:     5 Min:     0 Max:   493 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 540955 in 00:17:16 =  522.2/s Avg:     2 Min:     0 Max:  1071 Err:     0 (0.00%)
summary +  79419 in 00:00:30 = 2647.3/s Avg:    10 Min:     0 Max:  1435 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 620374 in 00:17:46 =  582.0/s Avg:     3 Min:     0 Max:  1435 Err:     0 (0.00%)
summary +  37227 in 00:00:30 = 1238.1/s Avg:     6 Min:     0 Max:  1354 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 657601 in 00:18:16 =  600.0/s Avg:     3 Min:     0 Max:  1435 Err:     0 (0.00%)
summary +  18000 in 00:00:30 =  600.3/s Avg:     2 Min:     0 Max:   219 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0
summary = 675601 in 00:18:46 =  600.0/s Avg:     3 Min:     0 Max:  1435 Err:     0 (0.00%)
summary +  18000 in 00:00:30 =  599.9/s Avg:     1 Min:     0 Max:    46 Err:     0 (0.00%) Active: 60 Started: 60 Finished: 0

可视化它看起来像这样:

有没有办法避免这个高峰? (如果我将用户数量从 60 增加到 80.80 到 100,我也会达到这个峰值,......)

【问题讨论】:

  • 您是否尝试过使用恒定吞吐量计时器?

标签: jmeter load-testing jmeter-plugins


【解决方案1】:

结合哪个“定时器”?

我认为您在场景中使用了错误的计时器和错误的线程组,请考虑移至 Concurrency Thread GroupThroughput Shaping Timer,您可以使用 feedback function 连接它们,因此计时器将是唯一可以驱动负载模式。

【讨论】:

  • 感谢您的回答。我正在使用这个Timestamp Timer 我要测试的内容:具有传感器/物联网设备数量动态变化的物联网基础设施。但是每个传感器每秒发送恒定的 10 个请求(每个传感器正好对应 Jmeter 中的一个线程)。所以我必须改变 Jmeter 中的线程数,而不仅仅是总吞吐量。我认为这不可能通过并发线程组和吞吐量整形计时器的组合来实现。还是我错了?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
  • 2016-01-20
相关资源
最近更新 更多