I want to understand how to determine whether my internet connection is a bottleneck or not during a jmeter stress test.
Here is a bit of background for my problem:
I made a stress test with a 2 hours duration, with 2000 threads ramped up over the whole 2 hours duration hoping to find the upper limit of the server, but I am thinking that maybe I hit some other limit and not the server's, as it's not shutting down, aka not responding with 4xx or 5xx error codes. I can only see in the report that the transactions per second go fairly quickly to 580, but they then will not go above.
When I run the stress test against one server endpoint and the load keeps increasing, I need to be connected to a VPN to have access to that endpoint.
Most of the stress test runs I tried, behave like this:
Although, the number of threads increases, like this:
And I only have Non-HTTP error response codes which are not reflected in the server logs, aka the server reports no 4xx or 5xx error codes:
The server will not go over 580 TPS, but it will not throw errors either:
As per this site, my internet connection (via cable or wifi, I see no major difference) has 1ms ping, 400-420 Mbps download capacity and around 250 Mbps upload capacity - granted, this is calculated with some server selected by them, located relatively near to my location.
How can I know how much of that "pipe" capacity is being used so that I can say with certainty that my internet connection is not a bottleneck? Can the VPN be a bottleneck?
There are multiple options like:
Bytes Throughput Over Time chart which is a part of JMeter's HTML Reporting Dashboard
Bytes Throughput Over Time chart from JMeter Plugins project
JMeter PerfMon Plugin which provides complete Network IO metrics
Your operating system should provide built-in applications for network monitoring