I've been trying to blitz.io my site, AB, etc., to try to get an understanding of how many concurrent users can use my site.
Within my own box:
Concurrency 500, 10000 hits 3k reqs per second. Transfer rate: 130,339 KBytes/sec.
From outside my box:
Concurrency 500, 10000 hits I get approximately 150-200 requests per second. Transfer rate: 5,543 Kbytes/sec.
Using blitz.io, I cap out at 200 requests per second when concurrency starts moving past 200.
So as more and more concurrent request are made, my app is still returning 200 responses per second.
Does this mean network throughput is limiting my RPS to external clients? Because I'm under the impression my server is capable of responding to 3000 hits per second should the client be able to download fast enough (such as localhost).
I've played around with the nginx worker count and connections but I'm capped at 200 RPS for external calls.
What can I do to serve more of these pages?
How can I tell whether the network bottleneck is on my server, or the caller?
Due to my lack of experience here, I simply don't know if there's a network bandwidth bottleneck outbound from my server unless I do something like set up 3 more nginx servers with load balancing.
Is it correct to assume that because I can get 100mb/s internally, that should external hits (1000 users) demand 100mb/s, that the server will be able to output that to the various locations around the world?