French version below

I’m repassing the bench since hardware configuration made the gap between the 2 Typo instances too wide

After deplying Ruby Enterprise Edition along with Passenger 1.9.0 on this server, Cyril Mougel and I have decided to bench his configuration versus mine.

Here is the configuration :

  • Cyril is running a Typo on 7 Nginx instances along with 3 Thin application server.
  • I’m running a Typo on an Apache with mod_rails.
  • Wordpress is running on Apache with mod_php 5 and is jailed for security purpose. PHP configuration file was finely tuned for production mode.

All tests were done on the same machine : a FreeBSD 2.2ghz dual core with 4GB ram. The application is runing alone during the whole test.

Typo + Nginx

Server Software:        nginx/0.5.36
Server Hostname:        typosphere.org
Server Port:            80

Document Path:          /accounts/login
Document Length:        1751 bytes

Concurrency Level:      10
Time taken for tests:   4.365451 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2090000 bytes
HTML transferred:       1751000 bytes
Requests per second:    229.07 [#/sec] (mean)
Time per request:       43.655 [ms] (mean)
Time per request:       4.365 [ms] (mean, across all concurrent requests)
Transfer rate:          467.53 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4    4   4.0      4      35
Processing:    11   38  27.3     30     200
Waiting:       10   37  27.3     30     200
Total:         15   42  27.6     35     204

Wordpress + Apache

Server Software:        Apache/2.2.8
Server Hostname:        emmanueldetaillac.fr
Server Port:            80

Document Path:          /wp-login.php
Document Length:        1895 bytes

Concurrency Level:      10
Time taken for tests:   82.477327 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2321000 bytes
HTML transferred:       1895000 bytes
Requests per second:    12.12 [#/sec] (mean)
Time per request:       824.773 [ms] (mean)
Time per request:       82.477 [ms] (mean, across all concurrent requests)
Transfer rate:          27.47 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4    4   0.1      4       6
Processing:   168  818 161.1    815    1516
Waiting:      167  813 160.9    810    1512
Total:        172  822 161.1    819    1520

Typo + Apache + mod_rails + RubyEE

Server Software:        Apache
Server Hostname:        typosphere.org
Server Port:            80

Document Path:          /accounts/login
Document Length:        1751 bytes

Concurrency Level:      10
Time taken for tests:   4.330938 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2144000 bytes
HTML transferred:       1751000 bytes
Requests per second:    230.90 [#/sec] (mean)
Time per request:       43.309 [ms] (mean)
Time per request:       4.331 [ms] (mean, across all concurrent requests)
Transfer rate:          483.27 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4    4   0.2      4       6
Processing:    11   38  21.0     33     142
Waiting:       11   36  20.8     31     141
Total:         15   42  21.0     37     146

Who said Apache on Rails was slow ?

Version française

Promis, après ce billet, j’arrête de parler de Ruby on Rails jusqu’à la prochaine release de Typo.

Les disparités matérielles entre Cyril et moi étant trop grandes, j’ai relancé tous les tests sur la même machine.

Suite au déploiement de Ruby Enterprise Edition sur la machine qui héberge ce blog, Cyril Mougel et moi avons décidé d’effectuer un benchmark afin de savoir qui d’Apache + mod_rails ou de Thin + Nginx serait le plus rapide. Pour le fun, j’y ai ajouté un blog Wordpress tournant sur le même serveur que mon Typo.

La configuration utilisée est la suivante :

  • Cyril fait tourner son Typo sous 7 instances de Nginx et 3 instances de Thin.
  • Je fais tourner mon Typo sur une instance d’Apache avec mod_rails.
  • Wordpress tourne sous Apache avec mod_php 5, dans une jail pour des raisons de sécurité. Le fichier de configuration de PHP a été finetuné pour un service de production.

L’ensemble des tests a été fait sur la même machine : un FreeBSD 2.2ghz dual Core avec 4Go de RAM. L’application tourne seule pendant toute la durée du test.

Typo + Nginx

Server Software:        nginx/0.5.36
Server Hostname:        typosphere.org
Server Port:            80

Document Path:          /accounts/login
Document Length:        1751 bytes

Concurrency Level:      10
Time taken for tests:   4.365451 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2090000 bytes
HTML transferred:       1751000 bytes
Requests per second:    229.07 [#/sec] (mean)
Time per request:       43.655 [ms] (mean)
Time per request:       4.365 [ms] (mean, across all concurrent requests)
Transfer rate:          467.53 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4    4   4.0      4      35
Processing:    11   38  27.3     30     200
Waiting:       10   37  27.3     30     200
Total:         15   42  27.6     35     204

Wordpress + Apache

Server Software:        Apache/2.2.8
Server Hostname:        emmanueldetaillac.fr
Server Port:            80

Document Path:          /wp-login.php
Document Length:        1895 bytes

Concurrency Level:      10
Time taken for tests:   82.477327 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2321000 bytes
HTML transferred:       1895000 bytes
Requests per second:    12.12 [#/sec] (mean)
Time per request:       824.773 [ms] (mean)
Time per request:       82.477 [ms] (mean, across all concurrent requests)
Transfer rate:          27.47 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4    4   0.1      4       6
Processing:   168  818 161.1    815    1516
Waiting:      167  813 160.9    810    1512
Total:        172  822 161.1    819    1520

Typo + Apache + mod_rails + RubyEE

Server Software:        Apache
Server Hostname:        typosphere.org
Server Port:            80

Document Path:          /accounts/login
Document Length:        1751 bytes

Concurrency Level:      10
Time taken for tests:   4.330938 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2144000 bytes
HTML transferred:       1751000 bytes
Requests per second:    230.90 [#/sec] (mean)
Time per request:       43.309 [ms] (mean)
Time per request:       4.331 [ms] (mean, across all concurrent requests)
Transfer rate:          483.27 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        4    4   0.2      4       6
Processing:    11   38  21.0     33     142
Waiting:       11   36  20.8     31     141
Total:         15   42  21.0     37     146

And the winner is… de peu certes, mais bon, qui a dit qu’Apache était lent sur Rails ?

Perry the Platypus wants you to subscribe now! Even if you don't visit my site on a regular basis, you can get the latest posts delivered to you for free via Email: