DistributedHoge
Upcoming SlideShare
Loading in...5
×
 

DistributedHoge

on

  • 2,062 views

 

Statistics

Views

Total Views
2,062
Views on SlideShare
1,981
Embed Views
81

Actions

Likes
0
Downloads
5
Comments
0

4 Embeds 81

http://d.hatena.ne.jp 76
http://unw.nu 2
http://www.slideee.com 2
http://ichie.co 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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

DistributedHoge DistributedHoge Presentation Transcript

  • 携帯向け動画サービス 負荷分散 (with CakePHP) ~ 出たー!パウンダーさんの 1 秒間に 24 回ロードバランシングだー! ~ codecheck.in::rytich http:// unw.nu /
  • 自己紹介 - rytich
    • 市江竜太
    • 福岡 WEB 界のガラパゴス
    • 株式会社マダガスカル
    • プログラマ
    • codecheck.in 下ネタ担当
    ※ この資料は http://d.hatena.ne.jp/rytich/ で公開します よろしくおねがいします
  • 携帯動画アップローダー スペースアップル TV http:// upple.tv /
    • サービス概要
    • いろんな ( セクシー ) 動画をアップロードできる
    • いろんな携帯向けに ( セクシー ) 動画を変換
    • 動画変換エンジンは tomcat+Java で社外システム ( 自社サーバ )
    • WEB アプリケーションは CakePHP+MySQL で天才プログラマが作成
    • 閲覧や広告のロギングが半端ない
    • 特定の時間帯にアクセスが集中
    • 運営大変 ( 独自の動画チェックアルゴリズム )
  • ビフォー ( 半年前 )
    • 50万PV/日くらい (たぶん)
    • 高負荷時 WEB(+DB)サーバのロードアベレージが200 ( クアッド ) とか (ログインできない)
  • CakePHP が重いんじゃね?問題
    • MySQL そんなリソース使ってない
    • そしたらやっぱり PHP?
    • ソースも変なとこないし、 APC も入れてるし…
    • CakePHP のオーバヘッドじゃない?
    • 生 PHP にしたら解決するんじゃ・・・
    • という声をどしどしいただきました!
  • 「 Cake は俺が護る」 ( 作り直したくない )
  • いろいろやって調べた ( みんなが )
    • サーバ / ネットワーク監視 (cacti)
    • アクセス解析 (awstats)
    • PHP デバッグ (Xdebug)
    • ファイルサーバがきつそう
    • DB のレスポンスが明らかに悪い
    • けどよくわからない
  • とりあえずサーバ増強
    • ファイルサーバ 2 台追加
    • 変換エンジン 2 台追加
    • 動画ファイルのアップロードを均等に振分
    • ファイルサーバへの接続 ( ダウンロード ) は nfs-> プロキシ経由に変更
    • 変換サーバのロードバランサを pound に変更 ( セッションまわり )
    • ピーク時の WEB サーバがロードアベレージ 50 程度までになった!
    • 動画のトラフィックやばい
  • DBサーバ
    • DB サーバ分割
    • レプリケーション
    • WEB サーバにあいのりの DB を別サーバに
    • この時点で WEB サーバの LA15 程度 DB サーバ LA5
    • さらに今後のことを考えて master/slave 化
    • http://d.hatena.ne.jp/rytich/20090516/1242442341
    • ついでに
    • ロギングの仕組を変更
    • ネットワークのセグメントを 2 分割 ( 見直し )
  • ビフォー ( 半年前 )
    • 50万PV/日くらい (たぶん)
    • 高負荷時 WEB(+DB)サーバのロードアベレージが200とか (ログインできない)
  • アフター ( 現在 )
    • 200万PV/日弱
    • 高負荷時 WEBサーバのLA 5未満
    • DBサーバ master/slave LA 1未満
  • アフター ( 現在 )
    • 変換エンジン
  • まとめ
    • やりすぎた ( サーバ代 )
    • CakePHP まだいける
    • ピーク時のアクセスをテストで再現できない
    • 効果測定が難しい
    • 世の中には自分の知らない世界が
    • 問題の切り分けさえできればなんとかなる
  • ありがとうございました