I am preparing to go live with an app, and was wondering if someone can give me some insight on my benchmarks. How do they compare, what system level tweaks can I make to improve them etc.
My setup is the following:
- m1.large amazon ec2 instance, running Ubuntu 11.04 Natty.
- Nginx as a reversed proxy for web requests. These requests are servered over unix sockets to a pool of unicorn workers that serve up a ruby (1.9.2) app (Sinatra as the framework)
When running apache bench as follows
ab -n 10000 -c 10 http://localhost/ I get negligible memory consumption, and higher cpu spikes. I see about 75-80% cpu usage
Cpu(s): 43.1%us, 20.9%sy, 0.0%ni, 21.5%id, 1.0%wa, 0.0%hi, 2.4%si, 11.1%st
And my benchmark results are as follows:
Server Software: nginx/0.8.54 Server Hostname: loalhost Server Port: 80 Document Path: / Document Length: 3683 bytes Concurrency Level: 10 Time taken for tests: 13.072 seconds Complete requests: 10000 Failed requests: 0 Write errors: 0 Total transferred: 38570000 bytes HTML transferred: 36830000 bytes Requests per second: 765.00 [#/sec] (mean) Time per request: 13.072 [ms] (mean) Time per request: 1.307 [ms] (mean, across all concurrent requests) Transfer rate: 2881.46 [Kbytes/sec] received