I have a simple stress test scenario which runs for 2 hours. I have configured 3000 threads to be ramped-up over the whole duration of the test. It's just one HTTPS POST request repeated multiple times with changing json body data on each request. The client is on one system and the server is on another system. I am just calling an API with some input data and that API looks up data in a file and responds back with whatever it is hardcoded to respond with.
How is it possible that although I keep increasing the number of threads as time goes by, the load on the system does not increase proportionally?
I am asking this because a few days ago when doing this test, the average response time was increasing proportionally with my increase in threads (virtual users). Now when doing the same test, this increase does not happen anymore - that is why now I am guessing that the devs have put some maximum TPS limitation.
This is the Response Times Over Time result:
Active Threads Over Time result:
Can someone please help me understand how this is possible? There are no error codes.
It seems that the server is somehow limiting the client, but I don't understand through which mechanism and I don't know which jmeter result graph would show me a clearer evidence of this. I would appreciate if someone could help me understand.
You're showing results from different test executions so we cannot properly correlate them, i.e. response times start from 23:15
and 2 other charts end at 23:01
.
In general well-behaved system's throughput should increase proportionally to the increased load. If it doesn't happen - there should be an explanation for this, i.e.
22:23
and 23:01