第一回DeNAテクノロジーカンファレンス[DeNA][モバゲー][MySQL]

http://d.hatena.ne.jp/tokiharu/20080128/1201520133に応募して当選しましたので
昨日いってまいりました。
 以下自分用のメモです

インフラ回り

id:tokiharuさんが司会をされていた

  • 構成


master------------------------------------------------
       |    |    |    |
      backup slave  slave slave

  • サーバ台数
    • 37系統で200台
  • DBサーバの環境(MySQL5.0.45)

  RAM 16G
  DB 80G
  Cent OS 4.4 64bit OS(CPUも)
  #DBサーバのCPU使用率は非常に低い
  Core2Duo * 2
  HP、Dell

  • masterの多重化
    • してない
    • 死んだら上記のbackupと入れ換える
    • SQLスレッド,I/Oスレッドとちがう?
  • my.cnf

  max_connections = 400-600
  #32bitの場合2G越えるとだめだが64bit制限ない
  innodb_buffer_pool_size = 12G
  sort_buffer_size = 1M
  read_buffer_size = 1M

  • わからないところ
    • MySQL5でmax_connectionsはどれだけ耐えられるか等
  • クエリキャッシュ
    • 日記とかだとIDベースなので?ヒット率が低い
    • memcachedはつかってない
  • MySQL5にする理由
    • 特にない
  • MySQL4->5にVerUpする場合のはまり所
    • JOINの順番が変わる
      • A LEFT JOIN B LEFT JOIN C 等する場合
    • 予約語チェックがきつくなった
  • black holeTBをつかってる
    • アクセスログ(足跡?)とかでつかってる
    • Masterのbinlogだけつくってデータはslaveで
    • Masterにはデータをのこしたくない
      • InnoDBinnodb_flush_log_at_trx_commit = 1とか1秒毎にDisckに反映させてもマスターへの書き込み回数が減るので効果あるのでは?
  • 参照系のLB
    • MyDNS: Homeを使っている
    • 更新権限のあるユーザはいない
  • 監視
    • 負荷の監視MRTG
    • お手製:サーバ生死の監視 web,mysql,cn(キャッシュサーバ),SMTPのポートを監視
    • 不整合がおきてないかアプリDBの中身をみる
  • 開発体制
    • 20名
    • アプリチームとDBチームにわかれている
    • 運用と開発はわかれていない
    • インフラ(プラットフォーム)チームは別
  • セットアップ自動化
    • PXEbootからkickstart file
    • リモートコンソールあり
    • それぞれのセグメントに以下のサーバ
      • OSのイメージ
      • kickstart fileを持っているサーバ
      • DHCPサーバ
  • Tips
    • DellCentOS RAID1つかってると Dellの専用復旧ツールが動かない
    • 5.0はクエリベース
      • Q.実行時にデータが交わすorder by limitの更新とかだとだめじゃない?
      • A.そういうクエリはないように設計してます

テンプレートエンジンとか絵文字取扱いとか

  • 会員903万人
  • 月刊150億PV
    • 5000万/3600秒間write == 秒間1万write
  • HTMLテンプレート

     html
      |
独自テンプレートコンパイラ
 |    |    |
DoCoMo  au   softbank

  • SHIFT-JISでデータを保存
    • DoCoMoauは領域が重なっていない
  • NGワードDB
    • 統計的に悪いキーワードを抽出してメンテナンス
  • 決済種別
    • WebMoneyが一番使われている 50%
    • キャリア決済
    • ペイジェント
  • FORMの幅
    • 試行錯誤(キャリア毎に画素数や文字幅をDB化させていないもっと最大公約数的に運用)
  • 静止画像
    • ImageMagickを使用
    • 230pxとか目安
    • リクエストに許容サイズが入っているのでそれにあわせていた
    • いまは最低スペックにあわせる
  • 世界展開に関して
    • モバゲーモデルをそのままコピーで輸出する形ではなくそれぞれのリージョンにあった形で
    • 日本よりも機種間の差異が激しい(Flashすら使えない機種あり等)