0
votes

I have a single Thread Group defined with 200 threads. I have a HTTP Request defined within the thread group and a Constant throughput timer defined within the HTTP Request. The Target throughput (samples/min) defined is 5400 samples/min (Since I want to achieve a throughput of 90 requests/second).

I am running the test in non-GUI mode. This is the summary report I see though:

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%)

I dont see the requests/second go more than 43. Is something wrong with my configuration ?

1

1 Answers

0
votes

Constant Throughput Timer can only pause threads in order to limit JMeter's throughput to the defined value. As per documentation>

Of course the throughput will be lower if the server is not capable of handling it, or if other timers or time-consuming test elements prevent it.

Looking into the Average Response Time which can be as high as > 1 minute my expectation is that your server simply cannot respond fast enough so you are not reaching the desired throughput due to some form of bottleneck.

If high response times are expected - you can try increasing number of threads in the Thread Group or even better switch to Concurrency Thread Group and Throughput Shaping Timer combination. These 2 test elements can be coupled via feedback function so JMeter will automatically kick off more threads if current amount is not enough to reach/maintain the desired throughput. You can install both elements using JMeter Plugins Manager