• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Passenger
 

Passenger

on

  • 3,354 views

Rubyist九州の2009年10月定例会資料です

Rubyist九州の2009年10月定例会資料です

Statistics

Views

Total Views
3,354
Views on SlideShare
3,344
Embed Views
10

Actions

Likes
3
Downloads
10
Comments
0

2 Embeds 10

http://www.slideshare.net 9
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Passenger Passenger Presentation Transcript

    • Passenger a panacea for Ruby web apps Shunichi Arai
    • ざっくり比較 • 高安定性・簡単設定 CGI • Rails/Gemは動かない Rubyウェブサーバ • Railsが動く (mongrel等) • 低速?・管理が面倒 • 高安定性・高速・Railsが動く Passenger • Apacheのモジュールが必要
    • CGI • アクセスがあるたびに Rubyプログラムを 毎回、起動する • 起動に時間がかからな い作りならOK • Railsは絶対動かない • 毎回起動されるので、 安定性は非常に高い
    • Mongrel + mod_proxy_balancer Apache子 HTTP mongrel Apache子 Apache親 Apache子 mongrel Apache子 mongrel Apache子 Apache子
    • Mongrel + mod_proxy_balancer • Mongrel (webrick) は Rubyで書かれた ウェブサーバ • mod_proxy_balancerは Apacheの提供する リバースプロキシ型 ロードバランサー • ロードバランサーで 複数のmongrelに HTTPで処理を分配する
    • Mongrel + mod_proxy_balancer の問題点 • mod_proxy_balancerは、 処理中、停止中の プロセスにも配分する – Mongrelを再起動すると しばらく表示が止まる • Mongrelは決まった数が スタートしており、 動的な増減が不可能 – 一部を再起動とか面倒 • Mongrelは遅い (体感) – Rubyでウェブサーバって? • 疎結合すぎる
    • mod_proxy_balancer は出来がいまいち?
    • Passenger 管理プロセス Apache子 mod_passenger Rubyプロセス Apache子 mod_passenger Rubyプロセス Apache親 Apache子 mod_passenger Rubyプロセス Apache子 mod_passenger Rubyプロセス Apache子 mod_passenger
    • Passenger • Apacheに mod_passengerという モジュールが入る • mod_passengerが rubyプロセスの 起動・終了などを管理 • mod_passengerが RailsやRackなどと 通信して処理を依頼 • Rails/Rackしか動かない
    • Passengerの利点 • Global Queingにより 応答可能サーバのみ アクセスされる • 自動で増減してくれて メモリが節減 • 定期的再起動などの 機能もある (Railsはメモリリークしが ち) • 安定して動く • 再起動が簡単
    • Passengerのインストール • gem install passenger • passenger-install-apache2-module • Httpd.confをちょろっと書き換え  簡単! • 再起動は touch tmp/restart.txt とするだけ • Deployが楽ちんになった