apacheとthinとmongrelを速度比較してみた。
明日のセミナーに向けて、
セミナー用の資料作ってた時、ついでにパフォーマンスチェックをおこなってみた。
Apache2.2に静的ファイルをおいたのと、thinのpublicに静的ファイルをおいた場合と
mongrelに静的ファイルをおいた場合。
さらにapp/views/portal/index.html.erbとpublic/index.htmlの2箇所においた場合のthinとmongrelの速度比較。
それぞれapachebenchで100の同時アクセス、総アクセス10000をやってみました。
結論から言うと、thinはmongrelより全然早かった。
apache>>thin>>mongrelのような形。
と言うわけで検証結果を。
総合時間 | 1秒間の処理数 | 1リクエストの平均時間 | |
---|---|---|---|
apacheのpublic | 2.996596 | 3337.12 | 29.966 |
thinのpublic | 6.86351 | 1643.02 | 60.864 |
thinのapp | 17.181393 | 582.03 | 171.814 |
mongrelのpublic | 14.18051 | 713.37 | 140.181 |
mongrelのapp | 36.275223 | 275.67 | 362.752 |
静的なファイルの表示だけでも、apacheの倍ぐらいかかるのにびっくり。
せいぜい1.1~1.2倍ぐらいですむと思ってました。
まあ、何回かやるとそのたびに結果かわったんで、検証環境の問題もありそうですが。
後、mongrelとthinの動作速度の差にも驚きですね。
2〜3倍違う。
一応、app/views/に配置したファイルも、rubyの処理とかは一切してないのですが、
railsってやっぱ重いですね。