MogileFS の利用と高速化 ふしはらかん @MobileFactory
MogileFS  おさらい <ul><li>分散ファイル管理システム </li></ul><ul><ul><li>ファイルを複数のサーバに分散して保存 </li></ul></ul><ul><ul><li>登録・参照は専用の Client を...
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 <ul><li>このヘッダを指定すると、指定した URL から Perlbal がデータを取得してきて返してくれる </li></ul><ul><li>URL は「 」(半角スペース)で複数指定可能 </li></u...
高速化その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
この状態での問題点 <ul><li>そもそもAppサーバで処理するのはコストが大きい </li></ul><ul><ul><li>無駄な処理が多い </li></ul></ul><ul><ul><li>プラグイン等の呼び出し </li></ul...
高速化その 2   X-REPROXY-CACHE-FOR Perlbal Tracker DB Storage Node Storage Node Storage Node 保存先を検索 A pp キー名 保存先一覧 データ取得 X-REPR...
X-REPROXY-CACHE-FOR <ul><li>Perlbal で REPROXY-URL をキャッシュ </li></ul><ul><li>perlbal.conf で以下の設定が必要   SET reproxy_cache_maxs...
X-REPROXY-CACHE-FOR のキャッシュ有効時 Perlbal Tracker DB Storage Node Storage Node Storage Node A pp データ取得
まとめ <ul><li>Mogile で運用していてダウンロード数をカウントしないもの(アートワーク等)に非常に有効 </li></ul><ul><li>アプリケーションサーバの負荷を大きく下げられる </li></ul><ul><li>ヘッダ...
Upcoming SlideShare
Loading in …5
×

MogileFSの利用と高速化

13,002 views

Published on

MogileFS+Perlbalな運用形態におけるX-REPROXY-URLの活用と、X-REPROX-CACHE-FORを使ったサーバレスポンスの高速化、サーバの負荷軽減について

Published in: Technology

MogileFSの利用と高速化

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

×