hakobera's blog

技術メモ。たまに雑談

Rails は本当に遅いのか?

Ruby on RailsがMetalに本腰を入れて取り掛かる

遅い遅いと言われ続けてきたRailsがついに本格的に高速化に取りかかっているようだ。(記事を読む限りは高速レスポンスを実現できるMetalという名前のモジュールを追加した、という感じだろうか。)

こうして自分の欠点を克服して進化しようとするのが、Railsの良い点だと思うので、大いに歓迎である。とはいえ、個人的には仕事でRailsを使ったことがないので、実は「Railsが遅い」と感じたことはない。

というわけで、年末休みで少しヒマだったので、計ってみた。
Javaの各種フレームワークRailsで「リクエストを受け付けて、レスポンスに "Hello, Wolrd!" と書き出す」プログラムを書いて、Apache Bench で「ab -n 1000 アプリのURL」した場合の結果を測定した。

JavaはJDK6.0とGlassfish V3 prelude, RailsRuby1.8.7上のproductionモード。

組み合わせ 結果(平均)(requests/s) 最速値(requests/s) 最遅値(requests/s)
Struts 1.2.9 561.78 938.26 302.3
JSF 1.2(Sun RI) 577.11 864.22 287.72
Rails(Mongrel) 175.89 235.84 130.34
Rails(Thin) 170.10 205.31 124.68

Railsが遅いかどうかはわからないけど、とりあえず、Javaの方が3倍くらい速いことがわかった。時間があったらJRuby on Rails でも測定してみたいと思う。