■
久しぶりにRailsのベンチマークを取ってみました。主な目的はRails Metalがなんぼのもんか、というところ。
Web上で、ARを使ったベンチマーク結果が見当たらなかったので、ARを参照に使ったサンプルで試してみました。その結果…
- Rails Controller同士だと Mongrel:Thin = 1.0:1.3
- Mongrel同士だと Rails Controller:Rails Metal = 1.0:1.6
- Thin同士だと Rails Controller:Rails Metal = 1.0:1.3
- Metal同士だと Rails:Rackup = 1.4:1.0
という結果に(数値はRequest per secの比率、大きい程はやい)。
Metalのほうが速いといえば速いけれど、Thinを使っていれば決定的な差ではないなぁ。Metalはどうも所々落とし穴があるので、この程度の性能差であればRailsでも良いかも。
あ、MetalでARを使ったら必ずActiveRecord::Base.clear_active_connections!を呼ぶこと。ensureとかで。でないと、愕然とするような遅さになってしまいます。
ということで結論 => MongrelからThinに乗り換えたい