SlideShare a Scribd company logo
MogileFS の利用と高速化 ふしはらかん @MobileFactory
MogileFS  おさらい 分散ファイル管理システム ファイルを複数のサーバに分散して保存 登録・参照は専用の Client を使う Web 経由でのファイル参照は Perlbal を使うことで効率よく行なえる
MogileFS  おさらい2 Client Tracker DB Storage Node Storage Node Storage Node キー名とファイル 保存先を記録 ファイルを保存 ファイル保存
MogileFS  おさらい2 Client Tracker DB Storage Node Storage Node Storage Node   キー名 保存先を検索 ファイル参照   保存先を返す   ファイルを取得
MogileFS  おさらい3 Perlbal Tracker DB Storage Node Storage Node Storage Node 保存先を検索 ファイル参照2 A pp キー名 保存先一覧 データ取得
X-REPROXY-URL このヘッダを指定すると、指定した URL から Perlbal がデータを取得してきて返してくれる URL は「 」(半角スペース)で複数指定可能 まさに Mogile のための機能
高速化その1 URLをキャッシュ Perlbal Tracker DB Storage Node Storage Node Storage Node 保存先を検索 A pp キー名 保存先一覧 データ取得 これをキャッシュ
URLがキャッシュされた状態 Perlbal Tracker DB Storage Node Storage Node Storage Node A pp データ取得 URL
この状態での問題点 そもそもAppサーバで処理するのはコストが大きい 無駄な処理が多い プラグイン等の呼び出し Etc…
高速化その 2   X-REPROXY-CACHE-FOR Perlbal Tracker DB Storage Node Storage Node Storage Node 保存先を検索 A pp キー名 保存先一覧 データ取得 X-REPROXY-CACHE-FOR を送信
X-REPROXY-CACHE-FOR Perlbal で REPROXY-URL をキャッシュ perlbal.conf で以下の設定が必要   SET reproxy_cache_maxsize = xxx 以下の書式で指定する X-REPROXY-CACHE-FOR: 3600; Content-Type キャッシュの維持期間と、 URL 以外にキャッシュするヘッダを指定
X-REPROXY-CACHE-FOR のキャッシュ有効時 Perlbal Tracker DB Storage Node Storage Node Storage Node A pp データ取得
まとめ Mogile で運用していてダウンロード数をカウントしないもの(アートワーク等)に非常に有効 アプリケーションサーバの負荷を大きく下げられる ヘッダの指定法を間違うと実機で画像が出なくなるので注意

More Related Content

MogileFSの利用と高速化