view · edit · sidebar · attach · print · history

mod_ruby Benchmark

compiled mod_ruby against Ruby 1.8.6 and Ruby 1.9.3 running in a Ruby-1.9.3-p0 process

Summary: Benchmarking mod_ruby compiled against ruby 1.8 and 1.9 has similar results, mod_ruby compiled against Ruby 1.8.7 seems just a little bit faster. In massively concurrent situations this builds up to more failed requests with ruby 1.9. In both cases the application was using Ruby 1.9.3-p0.

# mod_ruby 1.3.0 compiled against ruby 1.8.7-p352

user@localhost:~$ sudo /etc/init.d/apache2 restart # application servers as well

user@localhost:~$ time curl http://oddb.user.org/ &> /dev/null
curl http://oddb.user.org/ &> /dev/null  0,00s user 0,00s system 0%
cpu 8,649 total

user@localhost:~$ time curl http://oddb.user.org/ &> /dev/null
curl http://oddb.user.org/ &> /dev/null  0,00s user 0,00s system 0%
cpu 0,127 total

user@localhost:~$ /usr/sbin/ab -n 1000 -c 100 http://oddb.user.org/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking oddb.user.org (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
Server Hostname:        oddb.user.org
Server Port:            80

Document Path:          /
Document Length:        16588 bytes

Concurrency Level:      100
Time taken for tests:   97.227 seconds
Complete requests:      1000
Failed requests:        151
  (Connect: 0, Receive: 0, Length: 151, Exceptions: 0)
Write errors:           0
Non-2xx responses:      34
Total transferred:      16427583 bytes
HTML transferred:       16024125 bytes
Requests per second:    10.29 [#/sec] (mean)
Time per request:       9722.738 [ms] (mean)
Time per request:       97.227 [ms] (mean, across all concurrent requests)
Transfer rate:          165.00 [Kbytes/sec] received

Connection Times (ms)
             min  mean[+/-sd] median   max
Connect:        0    5  13.8      0      47
Processing:   293 9516 4096.0   9073   37415
Waiting:      293 9515 4096.1   9073   37415
Total:        293 9520 4100.2   9078   37415

Percentage of the requests served within a certain time (ms)
 50%   9078
 66%   9824
 75%  10291
 80%  10727
 90%  12871
 95%  18155
 98%  22648
 99%  25385
 100%  37415 (longest request)


# shugo/mod_ruby (version 4e4dce5cec6910bf0864ef58a5c19ff06ce66978
from 13th January), compiled against ruby 1.9.1-p0

user@localhost:~$ sudo /etc/init.d/apache2 restart # application servers as well

user@localhost:~$ time curl http://oddb.user.org/ &> /dev/null
curl http://oddb.user.org/ &> /dev/null  0,00s user 0,00s system 0%
cpu 8,536 total

user@localhost:~$ time curl http://oddb.user.org/ &> /dev/null
curl http://oddb.user.org/ &> /dev/null  0,00s user 0,00s system 0%
cpu 0,145 total

user@localhost:~$ /usr/sbin/ab -n 1000 -c 100 http://oddb.user.org/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking oddb.user.org (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
Server Hostname:        oddb.user.org
Server Port:            80

Document Path:          /
Document Length:        16588 bytes

Concurrency Level:      100
Time taken for tests:   98.175 seconds
Complete requests:      1000
Failed requests:        362
  (Connect: 0, Receive: 0, Length: 362, Exceptions: 0)
Write errors:           0
Non-2xx responses:      38
Total transferred:      16360786 bytes
HTML transferred:       15957980 bytes
Requests per second:    10.19 [#/sec] (mean)
Time per request:       9817.469 [ms] (mean)
Time per request:       98.175 [ms] (mean, across all concurrent requests)
Transfer rate:          162.74 [Kbytes/sec] received

Connection Times (ms)
             min  mean[+/-sd] median   max
Connect:        0    3  10.2      0      60
Processing:   215 9603 4769.7   8749   28653
Waiting:      215 9603 4769.8   8749   28653
Total:        215 9607 4772.1   8749   28713

Percentage of the requests served within a certain time (ms)
 50%   8749
 66%   9425
 75%   9920
 80%  10367
 90%  15096
 95%  21672
 98%  25390
 99%  26131
 100%  28713 (longest request)
view · edit · sidebar · attach · print · history
Page last modified on January 13, 2012, at 01:31 PM