EDITED -- test running from localhost now to rule out network...

i have a c1.medium using EBS. when i do an apache benchmark and i'm just printing a "hello" for the test from localhost - no database hits, it's very slow. i can repeat this test many times with the same results. any thoughts? thanks in advance.

ab -n 1000 -c 100 http://localhost/home/test/

Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

Server Software:        Apache/2.2.23
Server Hostname:        localhost
Server Port:            80

Document Path:          /home/test/
Document Length:        5 bytes

Concurrency Level:      100
Time taken for tests:   25.300 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      816000 bytes
HTML transferred:       5000 bytes
Requests per second:    39.53 [#/sec] (mean)
Time per request:       2530.037 [ms] (mean)
Time per request:       25.300 [ms] (mean, across all concurrent requests)
Transfer rate:          31.50 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    7  21.0      0      73
Processing:    81 2489 665.7   2500    4057
Waiting:       80 2443 654.0   2445    4057
Total:         85 2496 653.5   2500    4057

Percentage of the requests served within a certain time (ms)
  50%   2500
  66%   2651
  75%   2842
  80%   2932
  90%   3301
  95%   3506
  98%   3762
  99%   3838
 100%   4057 (longest request)
  • 1
    You seem to be getting different content from each server (one is '2 bytes' the other is '480 bytes'). If this isn't expected, try a wget on each and see what you are actually serving and check your logs. Also try to run ab locally on the production instance (just to discount any network/io limitations you might run into.
    – cyberx86
    Dec 16, 2012 at 8:29
  • 3
    You'll note the line 'Non-2xx responses: 10001' on your production to dev test - not a single response appears to have been successfully returned. One part of the explanation may, therefore, be that your dev server served static error pages, while your production server actually served php (which you would expect to be slower). Even if that is the case though, it is not enough to account for how slow your production server's response is - so there is something else at play.
    – cyberx86
    Dec 16, 2012 at 8:52
  • thanks for responding. i'm running the test from localhost now and still only 40 RPS on the high cpu medium instance (c1.medium). if i wget localhost/home/test i do get the "hello" in the file as expected. thanks. Dec 16, 2012 at 9:19
  • I'd suggest trying the same test with a static file - if you get similar (slow) results, check your apache mpm (prefork/worker) (also, check your CPU/RAM usage during the benchmark). Also try with fewer concurrent connections (e.g. 10) and see if the numbers differ substantially.
    – cyberx86
    Dec 16, 2012 at 9:44
  • I'd strongly suggest working with the Amazon people and getting their take. Remember you are sharing facilities with others.
    – mdpc
    Dec 17, 2012 at 4:54


You must log in to answer this question.

Browse other questions tagged .