Bon je vous mets le fichier texte en vrac, j'ai dû faire ce test il y a 6 mois. Il manque Puma et Rainbows (qui fonctionnent mieux avec Rubinius ou jRuby). Visiblement le meilleur couple c'est Unicorn + Nginx.
# Webrick
RAILS_ENV=production rails s siege -d1 -r10 -c50 https://192.168.1.17:3000/admin/products
Transactions: 500 hits Availability: 100.00 % Elapsed time: 43.96 secs Data transferred: 14.90 MB Response time: 3.55 secs Transaction rate: 11.37 trans/sec Throughput: 0.34 MB/sec Concurrency: 40.41 Successful transactions: 500 Failed transactions: 0 Longest transaction: 7.52 Shortest transaction: 0.88
# Mongrel 1.2.0.pre2 ajout de mongrel dans le gemfile RAILS_ENV=production rails s siege -d1 -r10 -c50 https://192.168.1.17:3000/admin/products
Transactions: 500 hits Availability: 100.00 % Elapsed time: 42.70 secs Data transferred: 14.90 MB Response time: 3.30 secs Transaction rate: 11.71 trans/sec Throughput: 0.35 MB/sec Concurrency: 38.69 Successful transactions: 500 Failed transactions: 0 Longest transaction: 17.06 Shortest transaction: 0.06
# Thin 1.3.1 ajout de thin dans le Gemfile puis bundle exec thin -e production start siege -d1 -r10 -c50 https://192.168.1.17:3000/admin/products
Transactions: 500 hits Availability: 100.00 % Elapsed time: 39.92 secs Data transferred: 14.90 MB Response time: 3.29 secs Transaction rate: 12.53 trans/sec Throughput: 0.37 MB/sec Concurrency: 41.22 Successful transactions: 500 Failed transactions: 0 Longest transaction: 4.42 Shortest transaction: 0.07
# Unicorn 4.2.0 ajout de Unicorn dans le Gemfile puis bundle exec unicorn -E production -p 3000 siege -d1 -r10 -c50 https://192.168.1.17:3000/admin/products
Transactions: 500 hits Availability: 100.00 % Elapsed time: 52.82 secs Data transferred: 14.90 MB Response time: 4.52 secs Transaction rate: 9.47 trans/sec Throughput: 0.28 MB/sec Concurrency: 42.76 Successful transactions: 500 Failed transactions: 0 Longest transaction: 17.07 Shortest transaction: 0.29
# Passenger 3.0.11 + nginx (installation automatique) installation de passenger + nginx sudo /opt/nginx/sbin/nginx server { listen 3000; server_name 192.168.1.17; root /path_to_myapp/public; # <--- be sure to point to 'public'! passenger_enabled on; } siege -d1 -r10 -c50 https://192.168.1.17:3000/admin/products
Transactions: 500 hits Availability: 100.00 % Elapsed time: 30.69 secs Data transferred: 14.90 MB Response time: 2.21 secs Transaction rate: 16.29 trans/sec Throughput: 0.49 MB/sec Concurrency: 36.07 Successful transactions: 500 Failed transactions: 0 Longest transaction: 9.46 Shortest transaction: 0.11
# Passenger 3.0.11 + nginx (installation automatique) avec worker_processes 2; dans nginx.conf siege -d1 -r10 -c50 https://192.168.1.17:3000/admin/products
Transactions: 500 hits Availability: 100.00 % Elapsed time: 31.76 secs Data transferred: 14.90 MB Response time: 2.30 secs Transaction rate: 15.74 trans/sec Throughput: 0.47 MB/sec Concurrency: 36.13 Successful transactions: 500 Failed transactions: 0 Longest transaction: 10.18 Shortest transaction: 0.07
# Unicorn (worker_processes 2) + nginx (worker_processes 1) sudo /opt/nginx/sbin/nginx sudo bundle exec unicorn_rails -c /home/riven/myapp/config/unicorn2.rb -E production -D
Transactions: 500 hits Availability: 100.00 % Elapsed time: 23.42 secs Data transferred: 14.88 MB Response time: 1.64 secs Transaction rate: 21.35 trans/sec Throughput: 0.64 MB/sec Concurrency: 34.92 Successful transactions: 500 Failed transactions: 0 Longest transaction: 2.02 Shortest transaction: 0.11
# Unicorn (worker_processes 2) + nginx (worker_processes 2) sudo /opt/nginx/sbin/nginx sudo bundle exec unicorn_rails -c /home/riven/myapp/config/unicorn2.rb -E production -D
Transactions: 500 hits Availability: 100.00 % Elapsed time: 23.57 secs Data transferred: 14.88 MB Response time: 1.61 secs Transaction rate: 21.21 trans/sec Throughput: 0.63 MB/sec Concurrency: 34.06 Successful transactions: 500 Failed transactions: 0 Longest transaction: 2.01 Shortest transaction: 0.06
# Unicorn (worker_processes 2) + nginx (worker_processes 4) sudo /opt/nginx/sbin/nginx sudo bundle exec unicorn_rails -c /home/riven/myapp/config/unicorn2.rb -E production -D
Transactions: 500 hits Availability: 100.00 % Elapsed time: 23.21 secs Data transferred: 14.88 MB Response time: 1.59 secs Transaction rate: 21.54 trans/sec Throughput: 0.64 MB/sec Concurrency: 34.23 Successful transactions: 500 Failed transactions: 0 Longest transaction: 1.99 Shortest transaction: 0.07
# Unicorn (worker_processes 6) + nginx (worker_processes 2) sudo /opt/nginx/sbin/nginx sudo bundle exec unicorn_rails -c /home/riven/myapp/config/unicorn2.rb -E production -D
Transactions: 500 hits Availability: 100.00 % Elapsed time: 25.73 secs Data transferred: 14.88 MB Response time: 1.90 secs Transaction rate: 19.43 trans/sec Throughput: 0.58 MB/sec Concurrency: 36.91 Successful transactions: 500 Failed transactions: 0 Longest transaction: 2.59 Shortest transaction: 0.08
# Unicorn (worker_processes 12) + nginx (worker_processes 2) sudo /opt/nginx/sbin/nginx sudo bundle exec unicorn_rails -c /home/riven/myapp/config/unicorn2.rb -E production -D
Transactions: 500 hits Availability: 100.00 % Elapsed time: 27.33 secs Data transferred: 14.88 MB Response time: 2.04 secs Transaction rate: 18.29 trans/sec Throughput: 0.54 MB/sec Concurrency: 37.35 Successful transactions: 500 Failed transactions: 0 Longest transaction: 3.54 Shortest transaction: 0.06