首页 > 解决方案 > 使用终极线程组时JMeter频率峰值

问题描述

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

当 Ultimate Thread Group 增加用户数时,每秒总请求率会在短时间内出现高峰。高峰过后,请求率符合预期。

例如,我得到以下跟踪:Start with 40 users, 10 requests per second for each user: 40 * 10 = 400 requests/second。将用户数增加到 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,我也会达到这个峰值,...)

标签: jmeterload-testingjmeter-plugins

解决方案


结合哪个“计时器”?

我认为您在场景中使用了错误的计时器和错误的线程组,请考虑移至并发线程组吞吐量整形计时器,您可以使用反馈功能将它们连接起来,因此计时器将是唯一驱动负载模式的地方.


推荐阅读