-
Passenger(mod_rails)の速度を計ってみた 2008-06-22 00:48:47
ウワサのPassenger(mod_rails)を試してみました。
インストールのやり方はあちらこちらのサイトに書かれているし、すごく簡単(しかも親切)なので問題はないと思います。
ぼくとしては速度が一番気になっていたのでabで計測テストをやってみました。ab -n 500 -c 2 http://milook.kaeruspoon.net/
テスト対象はmilookを使います。同時接続数が2と少ないのは、サーバ上でThinのプロセスが2個しかないからです。
kaeruspoon系のwebアプリはすべてThinで動いているので、まずはThinで計測してみました。
1. Apache2 + proxy_balancer + Thin(0.8.1)
Requests per second: 1.03 [#/sec]
2. Apache2 + proxy_balancer + mongrel(1.1.5)
つづいて、たぶん今一番一般的な構成のmongrelを試してみます。Requests per second: 1.00 [#/sec]
やっぱりThinのほうがちょっと速いね。
3. Apache2 + Passenger(1.0.5)
いよいよPassengerです。Requests per second: 1.04 [#/sec]
お、Thinよりもさらに速い!(微妙だけど)
この結果を踏まえて、kaeruspoon系のwebアプリはすべてPassengerで動かすことに決めました(もうPassengerで動いています)。
PassengerのためにGCを改良したRuby Enterprise Editionを使うとさらにメモリ消費量も抑えられるとか。今後試していこうと思います。
今回のテストではメモリ消費まではチェックしていません。こちらの方の記事を読むかぎりでは、けっこうよさそうです。
ちなみに、PassengerではApacheのプロセスのほかにSpawnサーバ(スポーンと読むみたい)のプロセスも立ち上がります。
これはRailsフレームワークのコードをキャッシュしてくれるやつだそうです。それから、webアプリのコードをキャッシュしてくれるやつも別に存在します。Railsのバージョンが同じなら、複数のアプリがひとつのキャッシュを共有してくれるようにできているみたい。
Passengerを試していて一番気に入ったのが、mongrelやThinみたいに別個にwebサーバを立ち上げる必要がないところ。proxy_balancerも使わなくていいし。Apacheを頼りにできるのが精神的にかなり楽です。
追記:かえるイメージだけはPassengerでうまく動かなかったのでThinに戻しました。どこが悪いのかよくわからないな。まあ、そういうこともあるということで、シビアなサービスで使うにはまだまだ様子見なのかもしれません。
さらに追記:うまく動かなかった理由がわかりました。「ImageScienceを使っているRailsアプリをPassengerで動かすとエラーになるときの対処」を参照。
-
ImageScienceを使っているRailsアプリをPassengerで動かすとエラーになるときの対処 2008-06-22 12:27:44
かえるイメージがちゃんと動かなかった原因がやっとわかりました。
かえるイメージの中ではImageScienceを使っているのだけど、こいつが".ruby_inline"というようなファイルを、環境変数HOMEかINLINEDIRで指定されたディレクトリ下に作ります。
ところがPassengerで動かすと、環境変数のHOME、INLINEDIRともに何もわたってこないため、ImageScienceのinlline.rbの処理の中でエラーとなってしまいます。
というわけで、RAILS_ROOT/tmp下に適当にディレクトリを作って、config/environment.rbの中で環境変数INLINEDIRをそのディレクトリへのPATHに指定してあげると、ちゃんと動きました。
よかったよかった。これでPassengerを心置きなく使えるぞ。 -
確認画面はクライアントサイドで 2008-06-22 22:07:25
RubyKaigiの山本陽平さんのセッションで、「確認画面はREST的にはどういう位置づけになるのか」という質問があったけど、「確認画面というのはサーバサイドで考えるものではない」みたいな回答があった。確認画面はリソースではない、つまりURIで表現する必要がないということだと思うのだけど、これはちょっと目からウロコ的なお話だった。そうだよね。確認画面なんてクライアントサイドで全部実現できるもんね。言われれば当たり前のことだけど、ちょっとはっとさせられた。
-
サーバをcentOSにしようかな 2008-06-22 23:56:54
kaeruspoonが動いているサーバのOSはdebianです(debian大好き)。でも仕事で使っているのがRedHatなので、kaeruspoonのOSをcentOSにしようかなと思ったりしている今日この頃です。

コメント(
リンク元(228)