• ブログ
  • ふぉとす
  • キーワード
  • ブックマーク
  • 写真
  • ログイン

Title

« 2008年06月21日 | 2008年06月23日 »
  • 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で動かすとエラーになるときの対処」を参照。

    Commentコメント(0) Pageリンク元(228) Append 511
  • しゅごキャラ! 3 (3) (講談社コミックスなかよし)
    メディア: コミック
    鉤 (文春文庫)
    作者/アーティスト: Donald E. Westlake,木村 二郎
    メディア: 文庫
  • 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を心置きなく使えるぞ。

    Commentコメント(0) Pageリンク元(40) Append 514
  • 確認画面はクライアントサイドで 2008-06-22 22:07:25

    RubyKaigiの山本陽平さんのセッションで、「確認画面はREST的にはどういう位置づけになるのか」という質問があったけど、「確認画面というのはサーバサイドで考えるものではない」みたいな回答があった。確認画面はリソースではない、つまりURIで表現する必要がないということだと思うのだけど、これはちょっと目からウロコ的なお話だった。そうだよね。確認画面なんてクライアントサイドで全部実現できるもんね。言われれば当たり前のことだけど、ちょっとはっとさせられた。

    Commentコメント(0) Pageリンク元(32) Append 515
  • サーバをcentOSにしようかな 2008-06-22 23:56:54

    kaeruspoonが動いているサーバのOSはdebianです(debian大好き)。でも仕事で使っているのがRedHatなので、kaeruspoonのOSをcentOSにしようかなと思ったりしている今日この頃です。

    Commentコメント(0) Pageリンク元(5) Append 516
« 2008年06月21日 | 2008年06月23日 »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.tokyobikeのドロップハンドル化
  • 5.ubuntu8.04でデュアルディスプレイを使う
  • 6.restful_authenticationを使ってみた
  • 7.URLなど、長い英字を折り返して表示する方法
  • 8.Rspecでコントローラのspecファイルを書く
  • 9.MySQLコンファレンス2008 2日目に参加してきました。
  • 10.RailsとPostfixで受信メールを処理する方法

コメント

  • ユル(プログラマが若隠居をしたら)
  • ユル(風邪ひいた)
  • ユル(バイクがへたくそになっていた)
  • おおいしつかさ(便利になって不便になる)
  • 武石(便利になって不便になる)
  • ユル(劇場版 天元突破グレンラガン)
  • ユル(フラニーとゾーイー (新潮文庫): サリンジャー, 野崎 孝: 本)

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月

キーワード一覧

ActionScript AmazonResources git javascript kaeruspoon milook NSR Objective-C Rails Ruby Ruby on Rails subversion Thin tokyobike ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画