0

我有一个定义了 200 个线程的线程组。我在线程组中定义了一个 HTTP 请求,在 HTTP 请求中定义了一个恒定吞吐量计时器。定义的目标吞吐量(样本/分钟)为 5400 个样本/分钟(因为我想实现 90 个请求/秒的吞吐量)。

我在非 GUI 模式下运行测试。这是我看到的摘要报告:

Creating summariser <summary>
Created the tree successfully using Elasticsearch_Backup.jmx
Starting the test @ Thu Jun 14 02:38:44 UTC 2018 (1528943924375)
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary +    187 in 00:00:46 =    4.1/s Avg: 34306 Min:     4 Max: 45427 Err:    13 (6.95%) Active: 200 Started: 200 Finished: 0
summary +    532 in 00:00:29 =   18.2/s Avg: 14309 Min:     3 Max: 53467 Err:     6 (1.13%) Active: 200 Started: 200 Finished: 0
summary =    719 in 00:01:15 =    9.6/s Avg: 19510 Min:     3 Max: 53467 Err:    19 (2.64%)
summary +   1318 in 00:00:30 =   43.8/s Avg:  4949 Min:     2 Max: 13973 Err:    10 (0.76%) Active: 200 Started: 200 Finished: 0
summary =   2037 in 00:01:45 =   19.4/s Avg: 10089 Min:     2 Max: 53467 Err:    29 (1.42%)
summary +    410 in 00:00:31 =   13.4/s Avg: 11060 Min:     4 Max: 27259 Err:     5 (1.22%) Active: 200 Started: 200 Finished: 0
summary =   2447 in 00:02:16 =   18.0/s Avg: 10251 Min:     2 Max: 53467 Err:    34 (1.39%)
summary +    300 in 00:01:00 =    5.0/s Avg: 23086 Min:     3 Max: 76712 Err:     4 (1.33%) Active: 200 Started: 200 Finished: 0
summary =   2747 in 00:03:16 =   14.0/s Avg: 11653 Min:     2 Max: 76712 Err:    38 (1.38%)
summary +     95 in 00:00:31 =    3.0/s Avg: 57490 Min:     3 Max: 93311 Err:     1 (1.05%) Active: 200 Started: 200 Finished: 0
summary =   2842 in 00:03:47 =   12.5/s Avg: 13185 Min:     2 Max: 93311 Err:    39 (1.37%)
summary +     84 in 00:00:28 =    3.0/s Avg: 76465 Min: 57500 Max: 119520 Err:     0 (0.00%) Active: 200 Started: 200 Finished: 0
summary =   2926 in 00:04:15 =   11.5/s Avg: 15002 Min:     2 Max: 119520 Err:    39 (1.33%)
summary +     98 in 00:00:30 =    3.3/s Avg: 62451 Min: 18075 Max: 121665 Err:     0 (0.00%) Active: 200 Started: 200 Finished: 0
summary =   3024 in 00:04:45 =   10.6/s Avg: 16539 Min:     2 Max: 121665 Err:    39 (1.29%)
summary +    204 in 00:00:30 =    6.8/s Avg: 47297 Min:  8554 Max: 152392 Err:     2 (0.98%) Active: 200 Started: 200 Finished: 0
summary =   3228 in 00:05:15 =   10.2/s Avg: 18483 Min:     2 Max: 152392 Err:    41 (1.27%)
summary +    723 in 00:00:30 =   24.1/s Avg: 10706 Min:     4 Max: 161663 Err:     2 (0.28%) Active: 200 Started: 200 Finished: 0
summary =   3951 in 00:05:45 =   11.4/s Avg: 17060 Min:     2 Max: 161663 Err:    43 (1.09%)
summary +   1089 in 00:00:30 =   36.2/s Avg:  5725 Min:     3 Max: 159356 Err:     3 (0.28%) Active: 200 Started: 200 Finished: 0
summary =   5040 in 00:06:15 =   13.4/s Avg: 14611 Min:     2 Max: 161663 Err:    46 (0.91%)

我没有看到请求/秒超过 43。我的配置有问题吗?

4

1 回答 1

0

Constant Throughput Timer只能暂停线程,以便将JMeter 的吞吐量限制在定义的值。根据文档>

当然,如果服务器无法处理它,或者如果其他计时器或耗时的测试元素阻止它,吞吐量将会降低。

查看可能高达 > 1 分钟的平均响应时间,我的期望是您的服务器根本无法快速响应,因此由于某种形式的瓶颈,您无法达到所需的吞吐量。

如果预期响应时间较长 - 您可以尝试增加线程组中的线程数量,或者更好地切换到并发线程组吞吐量整形计时器组合。这两个测试元素可以通过反馈功能耦合,因此如果当前数量不足以达到/维持所需的吞吐量,JMeter 将自动启动更多线程。您可以使用JMeter Plugins Manager安装这两个元素

于 2018-06-14T04:33:53.970 回答