Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ソーシャルゲーム          スケールアウトの歴史              gussan@Drecom Co., Ltd.                                        Copyright © Dreco...
提供                   Copyright © Drecom Co., Ltd.12年2月20日月曜日
自己紹介              • gussan              • ソーシャルゲーム事業本部           ※顔出しNG               • ICTグループ              • アーキテクト     ...
仕事内容              • ミドルウェア選定・導入等              • ライブラリ開発              • トラブルシュート                               Copyright © ...
ドリコムのソーシャルゲーム                    Copyright © Drecom Co., Ltd.12年2月20日月曜日
2009/08       2010/01     2011/01              2012/01                                                     なう             ...
2009/08       2010/01   2011/01              2012/01                                                   なう                累...
2009/08       2010/01      2011/01              2012/01                                                      なう           ...
2009/08       2010/01   2011/01              2012/01                                                   なう                 ...
2009/08         2010/01      2011/01              2012/01                                                        なう       ...
2009/08        2010/01   2011/01              2012/01                                                    なう              大...
2009/08       2010/01   2011/01              2012/01                                                   なう              サービ...
2009/08        2010/01   2011/01              2012/01                                                    なう              ま...
2009/08        2010/01   2011/01              2012/01                                                    なう               ...
ソーシャルゲーム          スケールアウトの歴史                  Copyright © Drecom Co., Ltd.12年2月20日月曜日
2009/08       2010/01   2011/01              2012/01                                                   なう  ココ             ...
2009/08        2010/01   2011/01              2012/01                                                    なう  ココ           ...
2009/08       2010/01   2011/01              2012/01                                                   なう  ココ             ...
2009/08       2010/01   2011/01              2012/01                                                   なう  ココ             ...
2009/08        2010/01               2011/01              2012/01                                                         ...
2009/08        2010/01   2011/01              2012/01                                                    なう  ココ           ...
2009/08       2010/01   2011/01              2012/01                                                   なう  ココ       万全だと思っ...
2009/08       2010/01   2011/01              2012/01                                                   なう  ココ             ...
2009/08       2010/01   2011/01              2012/01                                                   なう  ココ             ...
2009/08         2010/01             2011/01              2012/01                                                          ...
2009/08       2010/01   2011/01              2012/01                                                   なう  ココ          100...
2009/08        2010/01   2011/01              2012/01                                                    なう    ココ         ...
2009/08        2010/01   2011/01              2012/01                                                    なう    ココ         ...
2009/08          2010/01   2011/01              2012/01                                                      なう    ココ     ...
2009/08         2010/01   2011/01              2012/01                                                     なう    ココ       ...
2009/08           2010/01   2011/01              2012/01                                                       なう    ココ   ...
2009/08             2010/01                2011/01              2012/01                                                   ...
2009/08          2010/01    2011/01              2012/01                                                       なう    ココ   ...
2009/08       2010/01   2011/01              2012/01                                                   なう              ココ ...
2009/08        2010/01   2011/01              2012/01                                                    なう               ...
2009/08         2010/01   2011/01              2012/01                                                     なう             ...
2009/08        2010/01   2011/01              2012/01                                                    なう               ...
2009/08        2010/01               2011/01              2012/01                                                         ...
2009/08        2010/01   2011/01              2012/01                                                    なう               ...
2009/08        2010/01                  2011/01              2012/01                                                      ...
2009/08          2010/01    2011/01              2012/01                                                       なう         ...
2009/08       2010/01        2011/01              2012/01                                                        なう       ...
2009/08        2010/01        2011/01              2012/01                                                         なう     ...
2009/08           2010/01        2011/01              2012/01                                                            な...
2009/08         2010/01        2011/01              2012/01                                                          なう   ...
2009/08       2010/01        2011/01              2012/01                                                        なう       ...
2009/08       2010/01        2011/01              2012/01                                                        なう       ...
2009/08       2010/01        2011/01              2012/01                                                        なう       ...
2009/08           2010/01        2011/01              2012/01                                                            な...
2009/08        2010/01                   2011/01              2012/01                                                     ...
2009/08            2010/01                 2011/01              2012/01                                                   ...
2009/08               2010/01                    2011/01              2012/01                                             ...
2009/08          2010/01        2011/01              2012/01                                                           なう ...
2009/08         2010/01        2011/01              2012/01                                                          なう   ...
2009/08       2010/01        2011/01              2012/01                                                        なう       ...
2009/08       2010/01        2011/01              2012/01                                                        なう       ...
2009/08        2010/01        2011/01              2012/01                                                         なう     ...
2009/08          2010/01        2011/01              2012/01                                                           なう ...
2009/08       2010/01        2011/01              2012/01                                                        なう       ...
2009/08          2010/01        2011/01              2012/01                                                           なう ...
2009/08               2010/01                  2011/01              2012/01                                               ...
2009/08           2010/01        2011/01              2012/01                                                            な...
2010/冬                Copyright © Drecom Co., Ltd.12年2月20日月曜日
2009/08       2010/01    2011/01              2012/01                                                    なう               ...
2009/08                 2010/01                2011/01               2012/01                                              ...
2009/08       2010/01    2011/01              2012/01                                                    なう               ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08        2010/01   2011/01               2012/01                                                     なう             ...
2009/08          2010/01   2011/01               2012/01                                                       なう         ...
2009/08         2010/01    2011/01               2012/01                                                       なう         ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08         2010/01    2011/01               2012/01                                                       なう         ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08        2010/01   2011/01               2012/01                                                     なう             ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08         2010/01     2011/01               2012/01                                                        なう       ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
根本的解決には              数週間を要した                    Copyright © Drecom Co., Ltd.12年2月20日月曜日
そしてあろうことか                     Copyright © Drecom Co., Ltd.12年2月20日月曜日
あれーまたかーしょうがないなぁ              5分待つか・・・              ユーザさんが障害に              馴れてしまった・・                         別なゲームやっとくか    ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08        2010/01   2011/01               2012/01                                                     なう             ...
2009/08         2010/01      2011/01               2012/01                                                         なう     ...
2009/08          2010/01   2011/01               2012/01                                                       なう         ...
2009/08        2010/01   2011/01               2012/01                                                     なう             ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08          2010/01    2011/01               2012/01                                                        なう       ...
2009/08             2010/01        2011/01               2012/01                                                          ...
2009/08       2010/01     2011/01               2012/01                                                      なう           ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08        2010/01   2011/01               2012/01                                                     なう             ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08       2010/01   2011/01               2012/01                                                    なう               ...
2009/08         2010/01   2011/01               2012/01                                                      なう           ...
2009/08            2010/01       2011/01               2012/01                                                            ...
2009/08              2010/01                   2011/01                2012/01                                             ...
2009/08           2010/01    2011/01               2012/01                                                         なう     ...
2009/08       2010/01   2011/01              2012/01                                                   なう                 ...
未来への投資                   Copyright © Drecom Co., Ltd.12年2月20日月曜日
スケーラブルで安定した           システムを作るため                  Copyright © Drecom Co., Ltd.12年2月20日月曜日
2009/08                                      なう                  投資              •              稼働率の向上              •スケーラビ...
2009/08                                            なう                 稼働率の向上              • シングルポイントを潰す              • 自動フ...
シングルポイント                          LB           LB                    Web   Web      Web      Web                    App   ...
2009/08                                                                 なう          CacheサーバのHA化              •   Memcache...
RedisサーバのHA化              • Redis               • replication               • monit+keepalived               • 多少のデータロストは諦...
2009/08                                                         なう                DBサーバのHA化              • Semi-Sync Repli...
現在の構成                         LB           LB                   Web   Web      Web      Web                   App   App   ...
2009/08                                                      なう               スケーラビリティ              • 水平分散               •...
2009/08                                                    なう                  Turntable(仮)              • ActiveRecord Sh...
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日月曜日
Thank you               ドリコムでは、          大規模トラフィックが大好きな              仲間を募集しています                         Copyright © Drecom...
Upcoming SlideShare
Loading in …5
×

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

62,696 views

Published on

Published in: Technology

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

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

×