mogilefsの利用と高速化

13
MogileFS の利用と高速化 ふしはらかん @MobileFactory

Upload: kan

Post on 04-Jul-2015

12.541 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

Page 1: MogileFSの利用と高速化

MogileFS の利用と高速化

ふしはらかん @MobileFactory

Page 2: MogileFSの利用と高速化

MogileFS おさらい

分散ファイル管理システムファイルを複数のサーバに分散して保存

登録・参照は専用の Client を使う

Web 経由でのファイル参照は Perlbal を使うことで効率よく行なえる

Page 3: MogileFSの利用と高速化

MogileFS おさらい2

Client

Tracker

DB

Storage Node

Storage Node

Storage Node

キー名とファイル保存先を記録

ファイルを保存

ファイル保存

Page 4: MogileFSの利用と高速化

MogileFS おさらい2

Client

Tracker

DB

Storage Node

Storage Node

Storage Node

  キー名保存先を検索

ファイル参照

  保存先を返す

  ファイルを取得

Page 5: MogileFSの利用と高速化

MogileFS おさらい3

Perlbal Tracker

DB

Storage Node

Storage Node

Storage Node

保存先を検索

ファイル参照2

App

キー名

保存先一覧

データ取得

Page 6: MogileFSの利用と高速化

X-REPROXY-URL

このヘッダを指定すると、指定したURL から Perlbal がデータを取得してきて返してくれる

URL は「 」(半角スペース)で複数指定可能

まさに Mogile のための機能

Page 7: MogileFSの利用と高速化

高速化その1  URL をキャッシュ

Perlbal Tracker

DB

Storage Node

Storage Node

Storage Node

保存先を検索

App

キー名

保存先一覧

データ取得

これをキャッシュ

Page 8: MogileFSの利用と高速化

URL がキャッシュされた状態

Perlbal Tracker

DB

Storage Node

Storage Node

Storage Node

App

データ取得

URL

Page 9: MogileFSの利用と高速化

この状態での問題点

そもそも App サーバで処理するのはコストが大きい無駄な処理が多い

プラグイン等の呼び出し

Etc…

Page 10: MogileFSの利用と高速化

高速化その 2   X-REPROXY-CACHE-FOR

Perlbal Tracker

DB

Storage Node

Storage Node

Storage Node

保存先を検索

App

キー名

保存先一覧

データ取得

X-REPROXY-CACHE-FOR を送信

Page 11: MogileFSの利用と高速化

X-REPROXY-CACHE-FOR

Perlbal で REPROXY-URL をキャッシュ

perlbal.conf で以下の設定が必要 SET reproxy_cache_maxsize = xxx

以下の書式で指定するX-REPROXY-CACHE-FOR: 3600; Content-Type

キャッシュの維持期間と、 URL 以外にキャッシュするヘッダを指定

Page 12: MogileFSの利用と高速化

X-REPROXY-CACHE-FOR のキャッシュ有効時

Perlbal Tracker

DB

Storage Node

Storage Node

Storage Node

App

データ取得

Page 13: MogileFSの利用と高速化

まとめ

Mogile で運用していてダウンロード数をカウントしないもの(アートワーク等)に非常に有効

アプリケーションサーバの負荷を大きく下げられる

ヘッダの指定法を間違うと実機で画像が出なくなるので注意