I want to make a load test on my API with 500k API calls.
I made a JMeter test that reads from a .csv file an access token and with that token make an API call.
Of course, from one computer I can't do that many requests so I implement distribute JMeter servers so I have on AWS one master and 500 servers that are the slave (t3.medium).
At the test, I set loops to be: 1000 (not so big number) Ramp Up: 5 seconds. I want the test to last for 5 seconds. So a total load of 500k API calls to be made during a 5 seconds frame. It doesn't matter when the test starts, but I need to make all the requests from all the slave servers during this 5 seconds interval.
And here is the problem that the test always takes longer. For example, it takes like 3 minutes to make all the requests, and the average response from the server is around 50ms.
How can I configure JMeter or what should I use in order to guarantee that all 500k API calls are made during a 5sec interval?
This is an example output from the master:
Starting remote engines
Starting the test @ Thu Nov 08 18:28:02 UTC 2018 (1541701682517)
summary + 1 in 00:00:00 = 4.8/s Avg: 106 Min: 106 Max: 106 Err: 0 (0.00%) Active: 76 Started: 24 Finished: 0
summary + 286890 in 00:00:27 = 10817.9/s Avg: 66 Min: 44 Max: 1363 Err: 0 (0.00%) Active: 2837 Started: 22851 Finished: 25632
summary = 286891 in 00:00:27 = 10732.9/s Avg: 66 Min: 44 Max: 1363 Err: 0 (0.00%)
summary + 40389 in 00:00:30 = 1344.8/s Avg: 67 Min: 45 Max: 1630 Err: 0 (0.00%) Active: 6607 Started: 27937 Finished: 24366
summary = 327280 in 00:00:57 = 5765.6/s Avg: 66 Min: 44 Max: 1630 Err: 0 (0.00%)
summary + 47986 in 00:00:30 = 1600.6/s Avg: 70 Min: 45 Max: 1618 Err: 0 (0.00%) Active: 2847 Started: 70360 Finished: 70549
summary = 375266 in 00:01:27 = 4326.1/s Avg: 67 Min: 44 Max: 1630 Err: 0 (0.00%)
summary + 8420 in 00:00:31 = 274.6/s Avg: 62 Min: 45 Max: 335 Err: 0 (0.00%) Active: 1231 Started: 77129 Finished: 78934
summary = 383686 in 00:01:57 = 3267.9/s Avg: 66 Min: 44 Max: 1630 Err: 0 (0.00%)
summary + 9173 in 00:00:30 = 305.1/s Avg: 59 Min: 45 Max: 1107 Err: 0 (0.00%) Active: 166 Started: 80976 Finished: 83846
summary = 392859 in 00:02:27 = 2663.8/s Avg: 66 Min: 44 Max: 1630 Err: 0 (0.00%)
Remote engines have been started
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary + 107131 in 00:01:11 = 1504.3/s Avg: 72 Min: 45 Max: 1230 Err: 0 (0.00%) Active: -484 Started: 86185 Finished: 88700
summary = 499990 in 00:03:39 = 2286.2/s Avg: 68 Min: 44 Max: 1630 Err: 0 (0.00%)
Tidying up remote @ Thu Nov 08 18:31:41 UTC 2018 (1541701901996)