SlideShare a Scribd company logo
ソーシャルゲーム
          スケールアウトの歴史
              gussan@Drecom Co., Ltd.




                                        Copyright © Drecom Co., Ltd.
12年2月20日月曜日
提供




                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
自己紹介
              • gussan
              • ソーシャルゲーム事業本部           ※顔出しNG



               • ICTグループ
              • アーキテクト
              • twitter: @gussan
                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
仕事内容

              • ミドルウェア選定・導入等
              • ライブラリ開発
              • トラブルシュート

                               Copyright © Drecom Co., Ltd.
12年2月20日月曜日
ドリコムのソーシャルゲーム




                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01     2011/01              2012/01
                                                     なう




                    ドリコムが
          ソーシャルゲームに参入して
                        2年半


                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう




                累計ユーザ数

              1000万+

                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01      2011/01              2012/01
                                                      なう


                                               2011/12実績



                        月間PV

                50億+

                                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


                                                       なう



                   サーバ台数

                  400+

                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01      2011/01              2012/01
                                                        なう




                 たった2年半

              累計ユーザ数          サーバ台数

              1000万+         400+
                          月間PV
                          50億+
                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう




              大規模トラフィック
              に魅せられる毎日


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう




              サービス安定稼働


              ユーザさんが喜ぶ

                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう




              まさにソーシャルゲーム
                の手口・・・ッ



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう




                    どのように
              サービスをスケールして
                    いったのか


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
ソーシャルゲーム
          スケールアウトの歴史


                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


  ココ




                  2009年夏



                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう


  ココ




              mixiアプリオープン



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


  ココ




              合わせて我々も
              アプリリリース


                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


  ココ




              万全の準備をした



                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01               2011/01              2012/01
                                                                なう


  ココ
                   version 1.0
              LB          LB

              Web        Web            • Apache 2.2
       App    App        App   App      • mongrel
                                        • Rails 2.3
                    M
                                        • MySQL 5.0
                    S


                                               Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう


  ココ




              大丈夫だ、問題ない



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


  ココ




       万全だと思っていた・・・



                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


  ココ




                               *     +    巛 ヽ
                                          〒 !   
                    リリース      。
                                    +    。  |  |
                                 *     +   / /   
                                     ∧_∧ / /
                                    (´∀` / / +   
                                    ,-     f
                                    / ュヘ    | *    
                                   〈_} )   |
                                      /    ! +    
                                     ./  ,ヘ  |
                               ガタン ||| j  / |  | |||
                              ――――――――――――
                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


  ココ




                   次の瞬間



                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01             2011/01              2012/01
                                                               なう


  ココ
                             繋がんなくね・・?

      運営しっかりしろやゴルァ


                サービス停止: :: :::: :: :: : :::::::::::::::::
                    . .: : : : : : :
                     . . : : : :: : : :: : ::: :: : :::: ::
               繋がらないのでやめます
                    . . .... ..: : :: :: ::: :::::: :::::::::::
                         Λ_Λ . . . .: : : :::
    そんなことより野球やろうぜ       /:彡ミ゛ヽ;)ー、 . . .:
                       / :::/:: ヽ、ヽ、 ::i . .:: :.
                       / :::/;;:   ヽ ヽ ::l . :.
                  ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄
                                              Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


  ココ




          100,000 install/day



                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう


    ココ




              その後1週間眠れぬ
              日々が続いた・・・


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう


    ココ




              一体何が起きていた
                  のか


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01   2011/01              2012/01
                                                      なう


    ココ
                  撃沈理由(1)

              • 同じような種類のクエリが溜まる
              • MyISAMのテーブルロック
              • => InnoDB化することで解決

                                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01   2011/01              2012/01
                                                     なう


    ココ
                 撃沈理由(2)


              •slowクエリ出まくり

              •=> 地道に潰す


                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08           2010/01   2011/01              2012/01
                                                       なう


    ココ
                   撃沈理由(3)

              •
              特定のカラムへの更新が
              多い

              •=> Memcached,
              TokyoTyrantへ逃す

                                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08             2010/01                2011/01              2012/01
                                                                      なう


    ココ
                     version 1.1
               LB              LB             • Apache 2.2
               Web            Web             • mongrel
       App      App           App    App      • Rails 2.3
                                              • MySQL 5.0
              Mem      M        TT
                                              • Memcached
                        S
                                              • TokyoTyrant
                                                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01    2011/01              2012/01
                                                       なう


    ココ
                           教訓

              • 事前準備足りなかった
              • 十分大きなデータを利用して負荷試験
               を行うことができなかった

              • => JMeterでの負荷試験をリリース手
               順に追加


                                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう


              ココ




                        2009/冬
                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう


               ココ




              DBマスター負荷増



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01   2011/01              2012/01
                                                     なう


                ココ
                     DBマスタ
              • 更新量増
              • コストの高い参照処理が足を引っ
               張る

              • ランキング
              • 同一レベル帯のユーザ検索
                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう


               ココ




              コストの高い参照ク
               エリをslaveへ


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01               2011/01              2012/01
                                                                なう


               ココ
                   version 1.2
              LB          LB            • Apache 2.2
              Web        Web            • mongrel
       App    App        App   App      • Rails 2.3
                                        • MySQL 5.0
       Mem          M          TT
                                        • Memcached
                    S
                                        • TokyoTyrant
                                               Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01              2012/01
                                                    なう


               ココ




              どちらかが死んだ時
               にキャパオーバ


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01                  2011/01              2012/01
                                                                   なう


               ココ
                   version 1.3
              LB            LB             • Apache 2.2
              Web           Web            • mongrel
       App    App        App      App      • Rails 2.3
                                           • MySQL 5.0
       Mem          M             TT
                                           • Memcached
                    S
                        S                  • TokyoTyrant
                                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01    2011/01              2012/01
                                                       なう


                 ココ
                           結果

              • masterの負荷下がった!
              • slaveの負荷上がりすぎた・・
              • クエリチューニングは引き続き

                                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01        2011/01              2012/01
                                                        なう


                        ココ




   2010/夏



                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01        2011/01              2012/01
                                                         なう


                         ココ




              これまで騙し騙し
              使ってきたMySQL


                                        Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08           2010/01        2011/01              2012/01
                                                            なう
                            ココ


                MySQLがピンチ

              • 更新量増によるIO Wait増
              • BufferPool溢れ
              • CPU Usage増
              • レプリケーション遅延

                                           Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01        2011/01              2012/01
                                                          なう
                          ココ



                               重いよー
         運営やる気あんの?


              すでにキャパシティ
               は限界・・・
                  繋がらないのでやめます

    そんなことより野球やろうぜ


                                         Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01        2011/01              2012/01
                                                        なう
                        ココ




              チューニングも
              手を尽くした


                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01        2011/01              2012/01
                                                        なう
                        ココ




               よろしい、
              ならば分散だ


                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01        2011/01              2012/01
                                                        なう
                        ココ




              垂直か水平か



                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08           2010/01        2011/01              2012/01
                                                            なう
                            ココ


                       垂直分散
              • テーブルごとに使用するDBを分ける
              • Railsではmodel毎に接続を切り替える
              • 実装は簡単
              • 関連が切れてしまう
              • plugin: data_fabric, octopus
                                           Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01                   2011/01              2012/01
                                                                    なう
                          ココ


                   version 2.0
              LB          LB                • Apache 2.2
              Web        Web                • mongrel
       App    App        App       App      • Rails 2.3
                                            • MySQL 5.0
  Mem          M1         M2
                                            • Memcached
    TT          S         S
                    S          S            • TokyoTyrant
                                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08            2010/01                 2011/01              2012/01
                                                                      なう
                              ココ


                      version 2.1
              LB              LB              • Apache 2.2
              Web            Web              • mongrel
       App     App           App   App        • Rails 2.3
                                              • MySQL 5.0
  Mem         M1        M2         M3
                                              • Memcached
    TT        S          S         S
                  S          S         S      • TokyoTyrant
                                                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08               2010/01                    2011/01              2012/01
                                                                            なう
                                 ココ


                       version 2.2
                  LB             LB                 • Apache 2.2
                  Web           Web                 • mongrel
       App         App          App      App        • Rails 2.3
                                                    • MySQL 5.0
  Mem         M1       M2        M3      M4
                                                    • Memcached
    TT        S         S        S       S
                  S         S        S       S      • TokyoTyrant
                                                           Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01        2011/01              2012/01
                                                           なう
                           ココ


                垂直分散の結果
              • 5分割まで突入
              • ある程度負荷は分散できた
              • 運用コスト増
              • メンテナンス大変
              • 限界が見えてきた
                                          Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01        2011/01              2012/01
                                                          なう
                          ココ




              2010/秋
                                         Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01        2011/01              2012/01
                                                        なう
                        ココ




              比較的サービスが
              安定している日々


                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01        2011/01              2012/01
                                                        なう
                        ココ




                        突如



                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01        2011/01              2012/01
                                                         なう
                         ココ




              レスポンスが遅くなる



                                        Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01        2011/01              2012/01
                                                           なう
                           ココ


                  遅くなる原因
              • サービス内部要因
               • Datastoreが遅い
               • 処理内容が大きい
              • サービス外部要因
               • 外部APIの応答が遅い
                                          Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01        2011/01              2012/01
                                                        なう
                        ココ




          それResqueでできるよ



                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01        2011/01              2012/01
                                                           なう
                           ココ


                非同期処理導入
              • 時間のかかる処理をリクエスト処理と
               分離

              • Resque gem
              • github内で使われている
              • キューとしてRedisを使用
                                          Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08               2010/01                  2011/01              2012/01
                                                                          なう
                                      ココ


                       version 3.0
                  LB             LB               • Apache 2.2
                  Web           Web               • mongrel
       App         App          App    App        • Rails 2.3
                                                  • Redis+Resque
  Mem         M1       M2              Redis

                                                  • MySQL 5.0
              S         S             worker
                  S         S                     • Memcached
                                                         Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08           2010/01        2011/01              2012/01
                                                            なう
                            ココ


                        Resque
              • ヘビーな処理を後ろに回せるように
               なった

              • Redisの安定運用は意外と難しい
              • クセやハマりどころを知っていれば。
              • Resque workerは1job 1forkしている
               のでそれなりにコスト高い

                                           Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2010/冬




                Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01    2011/01              2012/01
                                                    なう
                        ココ




              フロントの構成を
                刷新した


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08                 2010/01                2011/01               2012/01
                                                                           なう
                                              ココ


                         version 4.0
                    LB             LB              • Nginx 1.0.x
              Web       Web       Web   Web        • Unicorn
              App       App       App   App
                                                   • Rails 3.0
                                                   • Redis+Resque
  Mem          M1        M2             Redis

                                                   • MySQL 5.1
                S         S             worker
                    S         S                    • Memcached
                                                          Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01    2011/01              2012/01
                                                    なう
                        ココ




          モダンな構成( ^ω^)



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ



                         2011/夏




                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




                  3度目の夏



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




              ヒットアプリも
              増えて迎えた夏


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01               2012/01
                                                     なう
                                   ココ




              カードバトルシステムに
                洗礼を受ける


                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01   2011/01               2012/01
                                                       なう
                                     ココ


              カードバトルのPV
              •農園系など

               • 150 250PV/Day/User

              •カードバトル

               • 350 750PV/day/user
                                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01    2011/01               2012/01
                                                       なう
                                     ココ



              •150 250PV/Day/User

              •350    750PV/day/user

                      ( ゚д゚)



                                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




              (つд )ゴシゴシ



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01    2011/01               2012/01
                                                       なう
                                     ココ



              •150 250PV/Day/User

              •350    750PV/day/user

              ( ゚д゚)三倍・・?



                                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




              平均30ポチ/1h
                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




                   _, ._
                (;゚ Д゚)


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




              ギリギリの運用



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01               2012/01
                                                     なう
                                   ココ




              SQLチューニングが
                 続くある日


                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




          MySQLが悲鳴を上げ
                る


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01     2011/01               2012/01
                                                        なう
                                      ココ



                          あれ?つながらない
              またかよー・・

                  数時間置きに
                                 運営はやくしろ
                  数分アクセス
               できなくなる事象
    そんなことより野球やろうぜ


                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




                通称
              「ちゅどる」※社内呼称


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
根本的解決には
              数週間を要した


                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
そしてあろうことか



                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
あれーまたかーしょうがないなぁ
              5分待つか・・・

              ユーザさんが障害に
              馴れてしまった・・
                         別なゲームやっとくか
    そんなことより野球やろうぜ


                            Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




                 調査の結果



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01               2012/01
                                                     なう
                                   ココ




                    MySQLが
              ある処理を行なっている
               ことが判明した


                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01      2011/01               2012/01
                                                         なう
                                       ココ


              full checkpointing




        http://www.mysqlperformanceblog.com/
         2008/11/13/adaptive-checkpointing/
                                        Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01   2011/01               2012/01
                                                       なう
                                     ココ


              full checkpointing

              • 更新処理が数時間に一回、数分ほど更
               新が完全に停止する

              • 更新量に応じて発生
              • データ領域へのflush処理

                                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01               2012/01
                                                     なう
                                   ココ




              解決策を探していた



                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




              誰かが言った



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




          「Percona使おうぜ」



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08          2010/01    2011/01               2012/01
                                                        なう
                                      ココ


                Percona Server

              • MySQLをベースにしている
              • 特にInnoDB部分に多数のpatchが当
               たっている

              • flush処理の高速化、SSD最適化等

                                       Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08             2010/01        2011/01               2012/01
                                                               なう
                                             ココ


                 Percona Server

              • innodb_flush_neighbor_pages = 0
              • innodb_adaptive_checkpoint =
                keep_avarage

              • innodb_io_capacity = xxxx;

                                              Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01     2011/01               2012/01
                                                      なう
                                    ココ




                        しかし



                                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




              導入したとしても
               先が見えない


                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08        2010/01   2011/01               2012/01
                                                     なう
                                   ココ




              IOは既に限界突破



                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




              また誰かが言った



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01               2012/01
                                                    なう
                                  ココ




          「Fusion-io 使おう」



                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08         2010/01   2011/01               2012/01
                                                      なう
                                    ココ


              Fusion-io ioDrive




                                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08            2010/01       2011/01               2012/01
                                                             なう
                                           ココ


               Fusion-io ioDrive

              • 200,000+iops >> 600 iops(RAID10)
              • レイテンシ低
              • 弊社の検証でPercona Server5.5 +
               ioDrive では、MySQL5.1+RAID10の
               約5倍の性能(参照:更新=10:1)


                                            Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08              2010/01                   2011/01                2012/01
                                                                            なう
                                                         ココ


                         version 5.0
                    LB           LB               • Nginx 1.x
              Web   Web      Web      Web         • unicorn 4.1
              App   App        App    App
                                                  • Rails 3.0
                                                  • Percona Server
  Mem               M1       M2       Redis          5.5


                    S        S        worker      • Memcached,
                         S       S                   Redis...


                                                           Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08           2010/01    2011/01               2012/01
                                                         なう
                                       ココ


              Percona + ioDrive
              • 問題は解決
              • Fusion-ioは甘え
              • キャパシティに余裕ができた
              • なんとコストが下がった (5cluster =>
               1 2cluster)


                                        Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01
                                                   なう

                                                   ココ




              そして現在に至る



                                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
未来への投資



                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
スケーラブルで安定した
           システムを作るため


                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08                                      なう




                  投資

              •
              稼働率の向上

              •スケーラビリティの向上


                        Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08                                            なう



                 稼働率の向上


              • シングルポイントを潰す
              • 自動フェイルオーバー


                              Copyright © Drecom Co., Ltd.
12年2月20日月曜日
シングルポイント
                          LB           LB

                    Web   Web      Web      Web
                    App   App      App      App



              Mem         M1       M2       Redis


                          S        S        worker
                               S       S

                                                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08                                                                 なう



          CacheサーバのHA化
              •   Memcached

                  •   マシンのメンテができない

                  •   Replication



              •   kyototycoonのmemcached protocol

                  •   dual master構成

                  •   monit+keepalived

                                                   Copyright © Drecom Co., Ltd.
12年2月20日月曜日
RedisサーバのHA化

              • Redis
               • replication
               • monit+keepalived
               • 多少のデータロストは諦める

                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08                                                         なう



                DBサーバのHA化

              • Semi-Sync Replication(on
                MySQL5.5)

              • monit+keepalived
              • スペアサーバが自動的にスレーブに

                                           Copyright © Drecom Co., Ltd.
12年2月20日月曜日
現在の構成
                         LB           LB

                   Web   Web      Web      Web
                   App   App      App      App



              KT         M1       M2       Redis       Redis


              KT         S        S        worker      worker
                              S       S

                                                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08                                                      なう



               スケーラビリティ

              • 水平分散
               • MySQL Spiderを検討していたが、
                更新性能、JOIN性能の部分で断念

               • ActiveRecord Sharding pluginの検
                討


                                        Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08                                                    なう



                  Turntable(仮)
              • ActiveRecord Sharding plugin
              • MySQL Spiderにインスパイアされた
              • shardingはほぼ自動化されているた
               め、本質的なコードに集中できる

              • 他のpluginに比べ、コードの変更が少
               ない

                                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
2009/08                                       なう




               Turntable(仮)は
              本年度内に公開予定


                         Copyright © Drecom Co., Ltd.
12年2月20日月曜日
ドリコムでは、
              このような取り組みを
                 行なって


                        Copyright © Drecom Co., Ltd.
12年2月20日月曜日
想定しうるトラフィック
          への対応を進めています


                  Copyright © Drecom Co., Ltd.
12年2月20日月曜日
まとめ



                    Copyright © Drecom Co., Ltd.
12年2月20日月曜日
話したこと
              • ソーシャルゲーム怖い
              • ドリコムのサービススケーリングのこれ
               まで

              • ソーシャルゲーム怖い
              • ドリコムのサービススケーリングの未来
              • ソーシャルゲーム怖い
                              Copyright © Drecom Co., Ltd.
12年2月20日月曜日
これからも引き続き



                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
ユーザさんに
              満足頂けるサービス
                  を提供

                     Copyright © Drecom Co., Ltd.
12年2月20日月曜日
ご清聴ありがとうございました。




                      Copyright © Drecom Co., Ltd.
12年2月20日月曜日
Thank you

               ドリコムでは、
          大規模トラフィックが大好きな
              仲間を募集しています



                         Copyright © Drecom Co., Ltd.
12年2月20日月曜日

More Related Content

ソーシャルゲームスケールアウトの歴史

  • 1. ソーシャルゲーム スケールアウトの歴史 gussan@Drecom Co., Ltd. Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 2. 提供 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 3. 自己紹介 • gussan • ソーシャルゲーム事業本部 ※顔出しNG • ICTグループ • アーキテクト • twitter: @gussan Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 4. 仕事内容 • ミドルウェア選定・導入等 • ライブラリ開発 • トラブルシュート Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 5. ドリコムのソーシャルゲーム Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 6. 2009/08 2010/01 2011/01 2012/01 なう ドリコムが ソーシャルゲームに参入して 2年半 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 7. 2009/08 2010/01 2011/01 2012/01 なう 累計ユーザ数 1000万+ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 8. 2009/08 2010/01 2011/01 2012/01 なう 2011/12実績 月間PV 50億+ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 9. 2009/08 2010/01 2011/01 2012/01 なう なう サーバ台数 400+ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 10. 2009/08 2010/01 2011/01 2012/01 なう たった2年半 累計ユーザ数 サーバ台数 1000万+ 400+ 月間PV 50億+ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 11. 2009/08 2010/01 2011/01 2012/01 なう 大規模トラフィック に魅せられる毎日 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 12. 2009/08 2010/01 2011/01 2012/01 なう サービス安定稼働 ユーザさんが喜ぶ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 13. 2009/08 2010/01 2011/01 2012/01 なう まさにソーシャルゲーム の手口・・・ッ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 14. 2009/08 2010/01 2011/01 2012/01 なう どのように サービスをスケールして いったのか Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 15. ソーシャルゲーム スケールアウトの歴史 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 16. 2009/08 2010/01 2011/01 2012/01 なう ココ 2009年夏 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 17. 2009/08 2010/01 2011/01 2012/01 なう ココ mixiアプリオープン Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 18. 2009/08 2010/01 2011/01 2012/01 なう ココ 合わせて我々も アプリリリース Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 19. 2009/08 2010/01 2011/01 2012/01 なう ココ 万全の準備をした Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 20. 2009/08 2010/01 2011/01 2012/01 なう ココ version 1.0 LB LB Web Web • Apache 2.2 App App App App • mongrel • Rails 2.3 M • MySQL 5.0 S Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 21. 2009/08 2010/01 2011/01 2012/01 なう ココ 大丈夫だ、問題ない Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 22. 2009/08 2010/01 2011/01 2012/01 なう ココ 万全だと思っていた・・・ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 23. 2009/08 2010/01 2011/01 2012/01 なう ココ  *     +    巛 ヽ             〒 !    リリース 。       +    。  |  |    *     +   / /           ∧_∧ / /       (´∀` / / +          ,-     f       / ュヘ    | *          〈_} )   |         /    ! +            ./  ,ヘ  |  ガタン ||| j  / |  | ||| ―――――――――――― Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 24. 2009/08 2010/01 2011/01 2012/01 なう ココ 次の瞬間 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 25. 2009/08 2010/01 2011/01 2012/01 なう ココ 繋がんなくね・・? 運営しっかりしろやゴルァ サービス停止: :: :::: :: :: : ::::::::::::::::: . .: : : : : : :     . . : : : :: : : :: : ::: :: : :::: :: 繋がらないのでやめます    . . .... ..: : :: :: ::: :::::: :::::::::::         Λ_Λ . . . .: : : ::: そんなことより野球やろうぜ       /:彡ミ゛ヽ;)ー、 . . .:       / :::/:: ヽ、ヽ、 ::i . .:: :.       / :::/;;:   ヽ ヽ ::l . :.  ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 26. 2009/08 2010/01 2011/01 2012/01 なう ココ 100,000 install/day Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 27. 2009/08 2010/01 2011/01 2012/01 なう ココ その後1週間眠れぬ 日々が続いた・・・ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 28. 2009/08 2010/01 2011/01 2012/01 なう ココ 一体何が起きていた のか Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 29. 2009/08 2010/01 2011/01 2012/01 なう ココ 撃沈理由(1) • 同じような種類のクエリが溜まる • MyISAMのテーブルロック • => InnoDB化することで解決 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 30. 2009/08 2010/01 2011/01 2012/01 なう ココ 撃沈理由(2) •slowクエリ出まくり •=> 地道に潰す Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 31. 2009/08 2010/01 2011/01 2012/01 なう ココ 撃沈理由(3) • 特定のカラムへの更新が 多い •=> Memcached, TokyoTyrantへ逃す Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 32. 2009/08 2010/01 2011/01 2012/01 なう ココ version 1.1 LB LB • Apache 2.2 Web Web • mongrel App App App App • Rails 2.3 • MySQL 5.0 Mem M TT • Memcached S • TokyoTyrant Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 33. 2009/08 2010/01 2011/01 2012/01 なう ココ 教訓 • 事前準備足りなかった • 十分大きなデータを利用して負荷試験 を行うことができなかった • => JMeterでの負荷試験をリリース手 順に追加 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 34. 2009/08 2010/01 2011/01 2012/01 なう ココ 2009/冬 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 35. 2009/08 2010/01 2011/01 2012/01 なう ココ DBマスター負荷増 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 36. 2009/08 2010/01 2011/01 2012/01 なう ココ DBマスタ • 更新量増 • コストの高い参照処理が足を引っ 張る • ランキング • 同一レベル帯のユーザ検索 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 37. 2009/08 2010/01 2011/01 2012/01 なう ココ コストの高い参照ク エリをslaveへ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 38. 2009/08 2010/01 2011/01 2012/01 なう ココ version 1.2 LB LB • Apache 2.2 Web Web • mongrel App App App App • Rails 2.3 • MySQL 5.0 Mem M TT • Memcached S • TokyoTyrant Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 39. 2009/08 2010/01 2011/01 2012/01 なう ココ どちらかが死んだ時 にキャパオーバ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 40. 2009/08 2010/01 2011/01 2012/01 なう ココ version 1.3 LB LB • Apache 2.2 Web Web • mongrel App App App App • Rails 2.3 • MySQL 5.0 Mem M TT • Memcached S S • TokyoTyrant Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 41. 2009/08 2010/01 2011/01 2012/01 なう ココ 結果 • masterの負荷下がった! • slaveの負荷上がりすぎた・・ • クエリチューニングは引き続き Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 42. 2009/08 2010/01 2011/01 2012/01 なう ココ 2010/夏 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 43. 2009/08 2010/01 2011/01 2012/01 なう ココ これまで騙し騙し 使ってきたMySQL Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 44. 2009/08 2010/01 2011/01 2012/01 なう ココ MySQLがピンチ • 更新量増によるIO Wait増 • BufferPool溢れ • CPU Usage増 • レプリケーション遅延 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 45. 2009/08 2010/01 2011/01 2012/01 なう ココ 重いよー 運営やる気あんの? すでにキャパシティ は限界・・・ 繋がらないのでやめます そんなことより野球やろうぜ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 46. 2009/08 2010/01 2011/01 2012/01 なう ココ チューニングも 手を尽くした Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 47. 2009/08 2010/01 2011/01 2012/01 なう ココ よろしい、 ならば分散だ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 48. 2009/08 2010/01 2011/01 2012/01 なう ココ 垂直か水平か Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 49. 2009/08 2010/01 2011/01 2012/01 なう ココ 垂直分散 • テーブルごとに使用するDBを分ける • Railsではmodel毎に接続を切り替える • 実装は簡単 • 関連が切れてしまう • plugin: data_fabric, octopus Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 50. 2009/08 2010/01 2011/01 2012/01 なう ココ version 2.0 LB LB • Apache 2.2 Web Web • mongrel App App App App • Rails 2.3 • MySQL 5.0 Mem M1 M2 • Memcached TT S S S S • TokyoTyrant Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 51. 2009/08 2010/01 2011/01 2012/01 なう ココ version 2.1 LB LB • Apache 2.2 Web Web • mongrel App App App App • Rails 2.3 • MySQL 5.0 Mem M1 M2 M3 • Memcached TT S S S S S S • TokyoTyrant Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 52. 2009/08 2010/01 2011/01 2012/01 なう ココ version 2.2 LB LB • Apache 2.2 Web Web • mongrel App App App App • Rails 2.3 • MySQL 5.0 Mem M1 M2 M3 M4 • Memcached TT S S S S S S S S • TokyoTyrant Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 53. 2009/08 2010/01 2011/01 2012/01 なう ココ 垂直分散の結果 • 5分割まで突入 • ある程度負荷は分散できた • 運用コスト増 • メンテナンス大変 • 限界が見えてきた Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 54. 2009/08 2010/01 2011/01 2012/01 なう ココ 2010/秋 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 55. 2009/08 2010/01 2011/01 2012/01 なう ココ 比較的サービスが 安定している日々 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 56. 2009/08 2010/01 2011/01 2012/01 なう ココ 突如 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 57. 2009/08 2010/01 2011/01 2012/01 なう ココ レスポンスが遅くなる Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 58. 2009/08 2010/01 2011/01 2012/01 なう ココ 遅くなる原因 • サービス内部要因 • Datastoreが遅い • 処理内容が大きい • サービス外部要因 • 外部APIの応答が遅い Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 59. 2009/08 2010/01 2011/01 2012/01 なう ココ それResqueでできるよ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 60. 2009/08 2010/01 2011/01 2012/01 なう ココ 非同期処理導入 • 時間のかかる処理をリクエスト処理と 分離 • Resque gem • github内で使われている • キューとしてRedisを使用 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 61. 2009/08 2010/01 2011/01 2012/01 なう ココ version 3.0 LB LB • Apache 2.2 Web Web • mongrel App App App App • Rails 2.3 • Redis+Resque Mem M1 M2 Redis • MySQL 5.0 S S worker S S • Memcached Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 62. 2009/08 2010/01 2011/01 2012/01 なう ココ Resque • ヘビーな処理を後ろに回せるように なった • Redisの安定運用は意外と難しい • クセやハマりどころを知っていれば。 • Resque workerは1job 1forkしている のでそれなりにコスト高い Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 63. 2010/冬 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 64. 2009/08 2010/01 2011/01 2012/01 なう ココ フロントの構成を 刷新した Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 65. 2009/08 2010/01 2011/01 2012/01 なう ココ version 4.0 LB LB • Nginx 1.0.x Web Web Web Web • Unicorn App App App App • Rails 3.0 • Redis+Resque Mem M1 M2 Redis • MySQL 5.1 S S worker S S • Memcached Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 66. 2009/08 2010/01 2011/01 2012/01 なう ココ モダンな構成( ^ω^) Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 67. 2009/08 2010/01 2011/01 2012/01 なう ココ 2011/夏 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 68. 2009/08 2010/01 2011/01 2012/01 なう ココ 3度目の夏 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 69. 2009/08 2010/01 2011/01 2012/01 なう ココ ヒットアプリも 増えて迎えた夏 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 70. 2009/08 2010/01 2011/01 2012/01 なう ココ カードバトルシステムに 洗礼を受ける Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 71. 2009/08 2010/01 2011/01 2012/01 なう ココ カードバトルのPV •農園系など • 150 250PV/Day/User •カードバトル • 350 750PV/day/user Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 72. 2009/08 2010/01 2011/01 2012/01 なう ココ •150 250PV/Day/User •350 750PV/day/user ( ゚д゚) Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 73. 2009/08 2010/01 2011/01 2012/01 なう ココ (つд )ゴシゴシ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 74. 2009/08 2010/01 2011/01 2012/01 なう ココ •150 250PV/Day/User •350 750PV/day/user ( ゚д゚)三倍・・? Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 75. 2009/08 2010/01 2011/01 2012/01 なう ココ 平均30ポチ/1h Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 76. 2009/08 2010/01 2011/01 2012/01 なう ココ   _, ._ (;゚ Д゚) Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 77. 2009/08 2010/01 2011/01 2012/01 なう ココ ギリギリの運用 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 78. 2009/08 2010/01 2011/01 2012/01 なう ココ SQLチューニングが 続くある日 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 79. 2009/08 2010/01 2011/01 2012/01 なう ココ MySQLが悲鳴を上げ る Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 80. 2009/08 2010/01 2011/01 2012/01 なう ココ あれ?つながらない またかよー・・ 数時間置きに 運営はやくしろ 数分アクセス できなくなる事象 そんなことより野球やろうぜ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 81. 2009/08 2010/01 2011/01 2012/01 なう ココ 通称 「ちゅどる」※社内呼称 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 82. 根本的解決には 数週間を要した Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 83. そしてあろうことか Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 84. あれーまたかーしょうがないなぁ 5分待つか・・・ ユーザさんが障害に 馴れてしまった・・ 別なゲームやっとくか そんなことより野球やろうぜ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 85. 2009/08 2010/01 2011/01 2012/01 なう ココ 調査の結果 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 86. 2009/08 2010/01 2011/01 2012/01 なう ココ MySQLが ある処理を行なっている ことが判明した Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 87. 2009/08 2010/01 2011/01 2012/01 なう ココ full checkpointing http://www.mysqlperformanceblog.com/ 2008/11/13/adaptive-checkpointing/ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 88. 2009/08 2010/01 2011/01 2012/01 なう ココ full checkpointing • 更新処理が数時間に一回、数分ほど更 新が完全に停止する • 更新量に応じて発生 • データ領域へのflush処理 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 89. 2009/08 2010/01 2011/01 2012/01 なう ココ 解決策を探していた Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 90. 2009/08 2010/01 2011/01 2012/01 なう ココ 誰かが言った Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 91. 2009/08 2010/01 2011/01 2012/01 なう ココ 「Percona使おうぜ」 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 92. 2009/08 2010/01 2011/01 2012/01 なう ココ Percona Server • MySQLをベースにしている • 特にInnoDB部分に多数のpatchが当 たっている • flush処理の高速化、SSD最適化等 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 93. 2009/08 2010/01 2011/01 2012/01 なう ココ Percona Server • innodb_flush_neighbor_pages = 0 • innodb_adaptive_checkpoint = keep_avarage • innodb_io_capacity = xxxx; Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 94. 2009/08 2010/01 2011/01 2012/01 なう ココ しかし Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 95. 2009/08 2010/01 2011/01 2012/01 なう ココ 導入したとしても 先が見えない Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 96. 2009/08 2010/01 2011/01 2012/01 なう ココ IOは既に限界突破 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 97. 2009/08 2010/01 2011/01 2012/01 なう ココ また誰かが言った Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 98. 2009/08 2010/01 2011/01 2012/01 なう ココ 「Fusion-io 使おう」 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 99. 2009/08 2010/01 2011/01 2012/01 なう ココ Fusion-io ioDrive Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 100. 2009/08 2010/01 2011/01 2012/01 なう ココ Fusion-io ioDrive • 200,000+iops >> 600 iops(RAID10) • レイテンシ低 • 弊社の検証でPercona Server5.5 + ioDrive では、MySQL5.1+RAID10の 約5倍の性能(参照:更新=10:1) Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 101. 2009/08 2010/01 2011/01 2012/01 なう ココ version 5.0 LB LB • Nginx 1.x Web Web Web Web • unicorn 4.1 App App App App • Rails 3.0 • Percona Server Mem M1 M2 Redis 5.5 S S worker • Memcached, S S Redis... Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 102. 2009/08 2010/01 2011/01 2012/01 なう ココ Percona + ioDrive • 問題は解決 • Fusion-ioは甘え • キャパシティに余裕ができた • なんとコストが下がった (5cluster => 1 2cluster) Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 103. 2009/08 2010/01 2011/01 2012/01 なう ココ そして現在に至る Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 104. 未来への投資 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 105. スケーラブルで安定した システムを作るため Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 106. 2009/08 なう 投資 • 稼働率の向上 •スケーラビリティの向上 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 107. 2009/08 なう 稼働率の向上 • シングルポイントを潰す • 自動フェイルオーバー Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 108. シングルポイント LB LB Web Web Web Web App App App App Mem M1 M2 Redis S S worker S S Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 109. 2009/08 なう CacheサーバのHA化 • Memcached • マシンのメンテができない • Replication • kyototycoonのmemcached protocol • dual master構成 • monit+keepalived Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 110. RedisサーバのHA化 • Redis • replication • monit+keepalived • 多少のデータロストは諦める Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 111. 2009/08 なう DBサーバのHA化 • Semi-Sync Replication(on MySQL5.5) • monit+keepalived • スペアサーバが自動的にスレーブに Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 112. 現在の構成 LB LB Web Web Web Web App App App App KT M1 M2 Redis Redis KT S S worker worker S S Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 113. 2009/08 なう スケーラビリティ • 水平分散 • MySQL Spiderを検討していたが、 更新性能、JOIN性能の部分で断念 • ActiveRecord Sharding pluginの検 討 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 114. 2009/08 なう Turntable(仮) • ActiveRecord Sharding plugin • MySQL Spiderにインスパイアされた • shardingはほぼ自動化されているた め、本質的なコードに集中できる • 他のpluginに比べ、コードの変更が少 ない Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 115. 2009/08 なう Turntable(仮)は 本年度内に公開予定 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 116. ドリコムでは、 このような取り組みを 行なって Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 117. 想定しうるトラフィック への対応を進めています Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 118. まとめ Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 119. 話したこと • ソーシャルゲーム怖い • ドリコムのサービススケーリングのこれ まで • ソーシャルゲーム怖い • ドリコムのサービススケーリングの未来 • ソーシャルゲーム怖い Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 120. これからも引き続き Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 121. ユーザさんに 満足頂けるサービス を提供 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 122. ご清聴ありがとうございました。 Copyright © Drecom Co., Ltd. 12年2月20日月曜日
  • 123. Thank you ドリコムでは、 大規模トラフィックが大好きな 仲間を募集しています Copyright © Drecom Co., Ltd. 12年2月20日月曜日