Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

Blitz.io
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?

share|improve this question
    
Would you describe your topology? Does "Outside mean across the WAN, or jus not on localhost? –  gWaldo Aug 1 '12 at 23:03
    
@gWaldo, another server in another data center. Results are simliar for blitz.io which is sending requests from Virginia (my main server is in Dallas). –  Yuji Tomita Aug 1 '12 at 23:22

1 Answer 1

It could just be poor bandwidth and latency between datacenters, but to me that sounds like it could be rate-limiting at the border of one of the datacenters. It could be either one, but is more likely to be the inbound datacenter if this is the case.

Load-Testing looks very similar to a script-kiddie trying to DOS/DDOS. Your hosting provider may be trying to protect you.

share|improve this answer
    
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? –  Yuji Tomita Aug 2 '12 at 0:55
    
You can try adding load-balancing, but I don't think it's going to help because the individual server is capable of handling much more internally. Contact your datacenter provider and explain what you're trying to do (load testing) and the results that you're seeing. –  gWaldo Aug 2 '12 at 12:13
    
thanks for the vote there; I appreciate it! I suppose that would mean everybody using blitz.io and my Linode VPS in dallas would have to experience the same thing if this were the case? –  Yuji Tomita Aug 6 '12 at 15:04
    
Not necessarily. This kind of thing can be turned on/off/configured per-account typically. –  gWaldo Aug 6 '12 at 15:35
    
yes it seems I can ask for it to be raised; the default limit is 50mbit. This will give me a quick answer on the bottleneck! Thanks gWaldo, will keep you posted. –  Yuji Tomita Aug 6 '12 at 15:38

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.