Passengerを2.2.15から3.0へ更新したので、ベンチマークを取りました
タスク管理にRedmineというRuby on Railsアプリを使っておりまして、それをApache上で動かすために、以前よりPassengerを使っておりました。
先月、これまでの1.3倍ほどに高速化されたというPassenger-3.0が出たそうです。
http://blog.phusion.nl/2010/10/18/phusion-passenger-3-0-0-final-released/
Redmine-1.0が問題なく動く事が確認出来たので、
更新したときのメモと、ApacheBenchの結果を以下に記載します。
インストール手順
sudo gem install passenger sudo passenger-install-apache2-module
Apacheのpassenger.confの変更
インストール後の説明通り、ファイルパスを書き換えます。
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15 ↓ LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.0/ext/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.0
Apacheのpassenger.confのチューニング
特に何も設定しないとページの表示がもたつくので、メモリ2GBのWEBサーバには以下の設定で動かしています。
メモリが4GBほどあるなら、PassengerMaxPoolSizeを60にすると良いと思います。
PassengerMaxInstancesPerApp 0 PassengerMaxPoolSize 30 PassengerPoolIdleTime 1800
ベンチマーク
上記の設定を済ませた所で、ApacheBenchを使ってベンチマークします。
チケット数がおよそ2万ある、Redmineのログイン後のホームのページを並列性10で、100回叩いたときの1秒あたりの応答数を見ます。
こちらは数が多ければ多いほど良いという指標です。
環境
・CentOS-5.5 x86_64
・Intel Xeon L5520
・上記筐体の中にあるLinux KVMの仮想ゲストマシン環境
・CentOS-5.5 x86_64
・Memory 2GB
・Apache-2.2.3
・Redmine-1.0
・ruby-1.8.7
・Rails-2.3.5
ベンチマーク方法
Phusion Passenger-2.2.15と3.0を切り替えてそれぞれ取得。
なお、Apacheを再起動した後の1回目は数値がぶれるので、2回目から4回分、データを取得しました。
$ ab -c 10 -n 100 「URL」
結果
1回目 | 29.04 | 25.19 |
2回目 | 28.37 | 25.78 |
3回目 | 27.59 | 28.27 |
4回目 | 28.91 | 26.7 |
平均 | 28.4775 | 26.485 |
公式ブログでは旧バージョン2.2.15より36%高速化されたとありましたが、この組み合わせの場合には、平均値を見る限り特に差はないという結果となりました。
安定性も向上しているとの事なので、しばしこれで様子を見たいと思います。