How to test server throughput

Posted by embwbam on Server Fault See other posts from Server Fault or by embwbam
Published on 2010-04-08T15:13:02Z Indexed on 2010/04/08 15:23 UTC
Read the original article Hit count: 337

Filed under:
|
|

I've always used apache benchmark to try to get a rough idea of how many requests/second my server can handle. I read that it was good, and it seemed to work well.

Enter node.js, which is fully event-based, so it never blocks. If I run apache benchmark on a simple hello world server it can handle 2500 requests per second or so.

However, if I put a timeout in the hello world function, so that it responds after 2 seconds, apache benchmark reports a dramatically reduced throughput: about 50/s. I'm running 100 concurrent connections with ab. If I increase the concurrency, it goes up. This makes sense, because apache benchmark is basically sending out requests in batches of 100, which come back every 2 seconds. 100 requests / 2 seconds = 50 requests / second

If I increase the concurrency to about 400 or 500, it starts to crash. I don't think I've hit node.js's limit, I think I'm hitting a wall in my operating system on the number of open file descriptors or sockets or something.

Any way I can get a good guess about how many requests my server can handle? I want to make sure the test computer isn't the one causing the problem.

© Server Fault or respective owner

Related posts about benchmarks

Related posts about Performance