SlideShare a Scribd company logo
1 of 123
ソーシャルゲーム
          スケールアウトの歴史
              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

What's hot

ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredisnasa9084
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるpospome
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことBIGLOBE Inc.
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門Naohiro Fujie
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るTakeru Maehara
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveTokoroten Nakayama
 

What's hot (20)

ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
ドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したことドメイン駆動設計 失敗したことと成功したこと
ドメイン駆動設計 失敗したことと成功したこと
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
 
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見るbacklogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 

More from Drecom Co., Ltd.

コンテナで始める柔軟な AWS Lambda 生活
コンテナで始める柔軟な AWS Lambda 生活コンテナで始める柔軟な AWS Lambda 生活
コンテナで始める柔軟な AWS Lambda 生活Drecom Co., Ltd.
 
サービスのインシデントを解決するには.pdf
サービスのインシデントを解決するには.pdfサービスのインシデントを解決するには.pdf
サービスのインシデントを解決するには.pdfDrecom Co., Ltd.
 
ドリコムサマージョブ報告 by 佐々木 誠治
ドリコムサマージョブ報告 by 佐々木 誠治ドリコムサマージョブ報告 by 佐々木 誠治
ドリコムサマージョブ報告 by 佐々木 誠治Drecom Co., Ltd.
 
DRECOM Summer Internship 2019 成果発表 by 鹿内 裕介
DRECOM Summer Internship 2019 成果発表 by 鹿内 裕介DRECOM Summer Internship 2019 成果発表 by 鹿内 裕介
DRECOM Summer Internship 2019 成果発表 by 鹿内 裕介Drecom Co., Ltd.
 
HTML5 ゲームフレームワーク開発について
HTML5 ゲームフレームワーク開発についてHTML5 ゲームフレームワーク開発について
HTML5 ゲームフレームワーク開発についてDrecom Co., Ltd.
 
「AROW」お披露目(導入編)
「AROW」お披露目(導入編)「AROW」お披露目(導入編)
「AROW」お披露目(導入編)Drecom Co., Ltd.
 
「AROW」お披露目(実用編)
「AROW」お披露目(実用編)「AROW」お披露目(実用編)
「AROW」お披露目(実用編)Drecom Co., Ltd.
 
AROW の紹介 〜概要編〜
AROW の紹介 〜概要編〜AROW の紹介 〜概要編〜
AROW の紹介 〜概要編〜Drecom Co., Ltd.
 
AROW の紹介 〜実践編〜
AROW の紹介 〜実践編〜AROW の紹介 〜実践編〜
AROW の紹介 〜実践編〜Drecom Co., Ltd.
 
rails-developers-meetup-day4
rails-developers-meetup-day4rails-developers-meetup-day4
rails-developers-meetup-day4Drecom Co., Ltd.
 
html5conf2018-sponsor-session
html5conf2018-sponsor-sessionhtml5conf2018-sponsor-session
html5conf2018-sponsor-sessionDrecom Co., Ltd.
 
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!Drecom Co., Ltd.
 
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法Drecom Co., Ltd.
 
LoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチ
LoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチLoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチ
LoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチDrecom Co., Ltd.
 
今月のレッツゴー陰陽師!
今月のレッツゴー陰陽師!今月のレッツゴー陰陽師!
今月のレッツゴー陰陽師!Drecom Co., Ltd.
 
位置情報を常に取得するのはつらいよ
位置情報を常に取得するのはつらいよ位置情報を常に取得するのはつらいよ
位置情報を常に取得するのはつらいよDrecom Co., Ltd.
 
カンバンと朝会とわたくし
カンバンと朝会とわたくしカンバンと朝会とわたくし
カンバンと朝会とわたくしDrecom Co., Ltd.
 
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介Drecom Co., Ltd.
 
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜Drecom Co., Ltd.
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…Drecom Co., Ltd.
 

More from Drecom Co., Ltd. (20)

コンテナで始める柔軟な AWS Lambda 生活
コンテナで始める柔軟な AWS Lambda 生活コンテナで始める柔軟な AWS Lambda 生活
コンテナで始める柔軟な AWS Lambda 生活
 
サービスのインシデントを解決するには.pdf
サービスのインシデントを解決するには.pdfサービスのインシデントを解決するには.pdf
サービスのインシデントを解決するには.pdf
 
ドリコムサマージョブ報告 by 佐々木 誠治
ドリコムサマージョブ報告 by 佐々木 誠治ドリコムサマージョブ報告 by 佐々木 誠治
ドリコムサマージョブ報告 by 佐々木 誠治
 
DRECOM Summer Internship 2019 成果発表 by 鹿内 裕介
DRECOM Summer Internship 2019 成果発表 by 鹿内 裕介DRECOM Summer Internship 2019 成果発表 by 鹿内 裕介
DRECOM Summer Internship 2019 成果発表 by 鹿内 裕介
 
HTML5 ゲームフレームワーク開発について
HTML5 ゲームフレームワーク開発についてHTML5 ゲームフレームワーク開発について
HTML5 ゲームフレームワーク開発について
 
「AROW」お披露目(導入編)
「AROW」お披露目(導入編)「AROW」お披露目(導入編)
「AROW」お披露目(導入編)
 
「AROW」お披露目(実用編)
「AROW」お披露目(実用編)「AROW」お披露目(実用編)
「AROW」お披露目(実用編)
 
AROW の紹介 〜概要編〜
AROW の紹介 〜概要編〜AROW の紹介 〜概要編〜
AROW の紹介 〜概要編〜
 
AROW の紹介 〜実践編〜
AROW の紹介 〜実践編〜AROW の紹介 〜実践編〜
AROW の紹介 〜実践編〜
 
rails-developers-meetup-day4
rails-developers-meetup-day4rails-developers-meetup-day4
rails-developers-meetup-day4
 
html5conf2018-sponsor-session
html5conf2018-sponsor-sessionhtml5conf2018-sponsor-session
html5conf2018-sponsor-session
 
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!
 
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
 
LoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチ
LoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチLoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチ
LoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチ
 
今月のレッツゴー陰陽師!
今月のレッツゴー陰陽師!今月のレッツゴー陰陽師!
今月のレッツゴー陰陽師!
 
位置情報を常に取得するのはつらいよ
位置情報を常に取得するのはつらいよ位置情報を常に取得するのはつらいよ
位置情報を常に取得するのはつらいよ
 
カンバンと朝会とわたくし
カンバンと朝会とわたくしカンバンと朝会とわたくし
カンバンと朝会とわたくし
 
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
 
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 

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

  • 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日月曜日