Passenger(mod_rails for Apache) vs Mongrel ベンチマークテスト

この辺見ながら単純比較してみました。
Passenger はデフォルト設定、mongrel は 2 つプロセス立ち上げてます。
キャッシュなどは何も使ってません。

 ab -n 1000 -c 100 http://xxxxxxxxxxxxx.jp/

結論からいうと、うーん、Passenger はデフォルトだとぜんぜん早くないのかも。
いろいろチューニングしがいがあるみたいなのかな。

Passenger は 10 秒前後、mongrel は 3 秒前後でした。


以下ログ。

Passenger 1 回目

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking xxxxxxxxxxxxx.jp (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
Finished 1000 requests


Server Software:        Apache/2.2.6
Server Hostname:        xxxxxxxxxxxxx.jp
Server Port:            80

Document Path:          /
Document Length:        99 bytes

Concurrency Level:      100
Time taken for tests:   11.456156 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Non-2xx responses:      1000
Total transferred:      650000 bytes
HTML transferred:       99000 bytes
Requests per second:    87.29 [#/sec] (mean)
Time per request:       1145.616 [ms] (mean)
Time per request:       11.456 [ms] (mean, across all concurrent requests)
Transfer rate:          55.34 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   17 211.6      0    3000
Processing:    26  665 1107.6    357    9887
Waiting:       20  664 1107.6    357    9886
Total:         30  682 1121.7    358    9887

Percentage of the requests served within a certain time (ms)
  50%    358
  66%    483
  75%    526
  80%   1094
  90%   1469
  95%   1922
  98%   4822
  99%   7710
 100%   9887 (longest request)

passenger 2 回目

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking xxxxxxxxxxxxx.jp (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
Finished 1000 requests


Server Software:        Apache/2.2.6
Server Hostname:        xxxxxxxxxxxxx.jp
Server Port:            80

Document Path:          /
Document Length:        99 bytes

Concurrency Level:      100
Time taken for tests:   9.481776 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Non-2xx responses:      1000
Total transferred:      650000 bytes
HTML transferred:       99000 bytes
Requests per second:    105.47 [#/sec] (mean)
Time per request:       948.178 [ms] (mean)
Time per request:       9.482 [ms] (mean, across all concurrent requests)
Transfer rate:          66.87 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   14 189.3      0    3000
Processing:    20  476 833.4    247    8286
Waiting:       20  474 833.5    246    8285
Total:         24  490 856.7    249    8286

Percentage of the requests served within a certain time (ms)
  50%    249
  66%    335
  75%    497
  80%    557
  90%    956
  95%   1323
  98%   3179
  99%   4257
 100%   8286 (longest request)

mongrel 1 回目

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking xxxxxxxxxxxxx.jp (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
Finished 1000 requests


Server Software:        Mongrel
Server Hostname:        xxxxxxxxxxxxx.jp
Server Port:            80

Document Path:          /
Document Length:        379 bytes

Concurrency Level:      100
Time taken for tests:   2.710206 seconds
Complete requests:      1000
Failed requests:        986
   (Connect: 0, Length: 986, Exceptions: 0)
Write errors:           0
Non-2xx responses:      1000
Total transferred:      564496 bytes
HTML transferred:       102920 bytes
Requests per second:    368.98 [#/sec] (mean)
Time per request:       271.021 [ms] (mean)
Time per request:       2.710 [ms] (mean, across all concurrent requests)
Transfer rate:          203.31 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   4.3      0      18
Processing:    29  239 101.2    235    1780
Waiting:       29  239 101.2    235    1780
Total:         34  241 100.6    236    1780

Percentage of the requests served within a certain time (ms)
  50%    236
  66%    262
  75%    273
  80%    289
  90%    312
  95%    387
  98%    508
  99%    545
 100%   1780 (longest request)

mongrel 2 回目

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking xxxxxxxxxxxxx.jp (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
Finished 1000 requests


Server Software:        Mongrel
Server Hostname:        xxxxxxxxxxxxx.jp
Server Port:            80

Document Path:          /
Document Length:        99 bytes

Concurrency Level:      100
Time taken for tests:   2.898899 seconds
Complete requests:      1000
Failed requests:        13
   (Connect: 0, Length: 13, Exceptions: 0)
Write errors:           0
Non-2xx responses:      1000
Total transferred:      564532 bytes
HTML transferred:       102640 bytes
Requests per second:    344.96 [#/sec] (mean)
Time per request:       289.890 [ms] (mean)
Time per request:       2.899 [ms] (mean, across all concurrent requests)
Transfer rate:          190.07 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   4.3      0      18
Processing:    16  256  91.5    243    1050
Waiting:       15  255  91.6    243    1050
Total:         19  258  90.9    245    1052

Percentage of the requests served within a certain time (ms)
  50%    245
  66%    265
  75%    287
  80%    294
  90%    316
  95%    446
  98%    509
  99%    572
 100%   1052 (longest request)