海外展開と負荷試験
by
gree_tech
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
海外展開と負荷試験 グリーエンターテインメント株式会社 加藤 雅
Slide 2
Slide 2 text
グリーエンターテインメント株式会社 エンジニア部 所属 役職:エンジニアマネージャー 2017年 ファンプレックス株式会社入社 サーバーエンジニアとして、いくつかのネイティブアプリの開発に参加 チーフエンジニアとして、エンジニアのスケジュール調整や育成も経験 現在は運営タイトルのエンジニアマネージャーとして エンジニアのマネジメントやアサイン調整を担当 自己紹介 加藤 雅(かとう まさし)
Slide 3
Slide 3 text
アプリ海外展開事例の紹介
Slide 4
Slide 4 text
プリンセスコネクト!Re:Dive の英語版
Slide 5
Slide 5 text
本日のアジェンダ ● 開発内容やインフラ構成の紹介 ● 負荷試験の概要 ● 負荷試験で発生した事例の紹介 ● リリース後の結果 ● まとめ
Slide 6
Slide 6 text
プリンセスコネクト!Re:Dive英語版の 開発体制およびインフラ構成
Slide 7
Slide 7 text
IPホルダー パブリッシャー ディベロッパー 3社共同運営
Slide 8
Slide 8 text
● クラウドサービス ○ Amazon Web Services ● インフラ構成 ○ LAMP(Linux, Apache, MySQL, PHP) ● 分析ツール ○ Google Cloud BigQuery インフラ構成
Slide 9
Slide 9 text
インフラ構成
Slide 10
Slide 10 text
● タイムマシン運営 運営形式
Slide 11
Slide 11 text
Q1.プリンセスコネクト!Re:Dive 英語版の 開発期間に関して
Slide 12
Slide 12 text
Q1.開発期間はどのくらいでしょう? ● 3ヶ月 ● 6ヶ月 ● 9ヶ月 ● 12ヶ月
Slide 13
Slide 13 text
開発期間はどのくらいでし ょう? ⓘ Start presenting to display the poll results on this slide.
Slide 14
Slide 14 text
Q1.開発期間はどのくらいでしょう? ● 3ヶ月 ● 6ヶ月 ● 9ヶ月 ● 12ヶ月
Slide 15
Slide 15 text
開発期間6ヶ月(2020年) 6月 7月 8月 9月 10月 11月 12月 1月 α版開発期間 β版開発期間 RC版開発期間 ソフトローンチ グローバル ローンチ
Slide 16
Slide 16 text
開発期間6ヶ月(2020年) 6月 7月 8月 9月 10月 11月 12月 1月 α版開発期間 β版開発期間 RC版開発期間 ソフトローンチ グローバル ローンチ ・開発環境構築 ・各種最適化
Slide 17
Slide 17 text
開発期間6ヶ月(2020年) 6月 7月 8月 9月 10月 11月 12月 1月 α版開発期間 β版開発期間 RC版開発期間 ソフトローンチ グローバル ローンチ ・翻訳対応 ・LQA ・開発環境構築 ・各種最適化
Slide 18
Slide 18 text
開発期間6ヶ月(2020年) 6月 7月 8月 9月 10月 11月 12月 1月 α版開発期間 β版開発期間 RC版開発期間 ソフトローンチ グローバル ローンチ ・本番環境構築 ・負荷試験 ・翻訳対応 ・LQA ・開発環境構築 ・各種最適化
Slide 19
Slide 19 text
開発期間6ヶ月(2020年) 6月 7月 8月 9月 10月 11月 12月 1月 α版開発期間 β版開発期間 RC版開発期間 ソフトローンチ グローバル ローンチ ・本番環境構築 ・負荷試験 ・翻訳対応 ・LQA ・開発環境構築 ・各種最適化 ・翻訳対応 ・LQA ・開発環境構築 ・各種最適化 ・限定地域にリリース
Slide 20
Slide 20 text
開発期間6ヶ月(2020年) 6月 7月 8月 9月 10月 11月 12月 1月 α版開発期間 β版開発期間 RC版開発期間 ソフトローンチ グローバル ローンチ ・本番環境構築 ・負荷試験 ・翻訳対応 ・LQA ・開発環境構築 ・各種最適化 ・翻訳対応 ・LQA ・開発環境構築 ・各種最適化 ・全世界リリース! ・限定地域にリリース
Slide 21
Slide 21 text
開発期間6ヶ月(2020年) 6月 7月 8月 9月 10月 11月 12月 1月 グローバル ローンチ ・全世界リリース! α版開発期間 β版開発期間 RC版開発期間 ソフトローンチ ● 日本国内でのリリースとは異なるアクセス状況が見込まれる ● グローバルに最適化した本番環境の準備が重要になる
Slide 22
Slide 22 text
開発期間6ヶ月(2020年) 6月 7月 8月 9月 10月 11月 12月 1月 α版開発期間 β版開発期間 RC版開発期間 ソフトローンチ グローバル ローンチ ・本番環境構築 ・負荷試験 ・翻訳対応 ・LQA ・開発環境構築 ・各種最適化 ・翻訳対応 ・LQA ・開発環境構築 ・各種最適化 ・全世界リリース! ・限定地域にリリース
Slide 23
Slide 23 text
プリンセスコネクト!Re:Dive 英語版の 負荷試験の概要
Slide 24
Slide 24 text
● 最適化した本番インフラ構成の動作検証 ● インフラ構成のボトルネックの洗い出し ● 分析ツールや監視ツールの機能テスト 負荷試験を実施する理由
Slide 25
Slide 25 text
● 使用したツール ○ JMeter ● 選定理由 ○ Webに情報が多い ○ セットアップが簡単 ○ 他プロダクトでの実績あり 負荷試験の準備
Slide 26
Slide 26 text
負荷試験のシナリオ ● シナリオとは ○ ある操作や処理の一連の流れ ○ チュートリアルなどの想定されるリクエストフロー
Slide 27
Slide 27 text
負荷試験のシナリオ ● シナリオとは ○ ある操作や処理の一連の流れ ○ チュートリアルなどの想定されるリクエストフロー ● どの程度の負荷が掛かるかの事前確認 ● インフラ構成のボトルネックを洗い出す
Slide 28
Slide 28 text
負荷試験の実行シナリオ ● リセマラフロー ○ チュートリアル完了までの各API ● クエスト周回 ○ いくつかのクエストを周回実行する ● アリーナの対戦相手更新 ○ 対戦相手更新を実行する
Slide 29
Slide 29 text
プリンセスコネクト!Re:Dive 英語版の 負荷試験で発生した事例の紹介
Slide 30
Slide 30 text
負荷試験で発生した事例の紹介 ● 負荷試験実施時のlocalhostのmemcached挙動 ● localhostで使用していたmemcachedが高負荷の数値を示す ● インフラ構成時のPIDファイル設定ミスにより、キャッシュデータが 正しく生成されていなかった ● 挙動的には正常に動いているように見え、負荷試験実施まで検知できず
Slide 31
Slide 31 text
負荷試験で発生した事例の紹介 ● 負荷試験実施時のlocalhostのmemcached挙動 ● localhostで使用していたmemcachedが高負荷の数値を示す ● インフラ構成時のPIDファイル設定ミスにより、キャッシュデータが 正しく生成されていなかった ● 挙動的には正常に動いているように見え、負荷試験実施まで検知できず ● localhostの設定を見直し、データが正しく生成されることを確認
Slide 32
Slide 32 text
負荷試験で発生した事例の紹介 ● シナリオ実行サーバーの調整 ● シナリオを実行しても、サーバーに負荷をうまい具合にかけられない ● シナリオ実行サーバーのメモリ不足やjavaのGC影響により、高負荷が掛からない状態
Slide 33
Slide 33 text
負荷試験で発生した事例の紹介 ● シナリオ実行サーバーの調整 ● シナリオを実行しても、サーバーに負荷をうまい具合にかけられない ● シナリオ実行サーバーのメモリ不足やjavaのGC影響により、高負荷が掛からない状態 ● シナリオ実行サーバーのスペックアップ(c4.2xlarge => m4.2xlarge) ● javaのGC周りの設定見直し ● シナリオ実行サーバー側もCPUなどをモニタリングできるように対応
Slide 34
Slide 34 text
負荷試験で発生した事例の紹介 ● 負荷試験中のサーバー費用に関して ● 試験中は、リリース想定の台数やインスタンスクラスで稼働させる ● 原因調査や土日などで、試験を実施していない間は費用かからないように調整が必要
Slide 35
Slide 35 text
負荷試験で発生した事例の紹介 ● 負荷試験中のサーバー費用に関して ● 試験中は、リリース想定の台数やインスタンスクラスで稼働させる ● 原因調査や土日などで、試験を実施していない間は費用かからないように調整が必要 ● 試験期間の中でも、実施期間/調査期間などスケジュール割りを行っておく
Slide 36
Slide 36 text
プリンセスコネクト!Re:Dive 英語版の 負荷試験を行ったことで得たこと
Slide 37
Slide 37 text
負荷試験を行ったことで得たこと ● ウェブサーバーの台数の最適化 ○ 初期に想定していた台数の1/4の台数で調整
Slide 38
Slide 38 text
負荷試験を行ったことで得たこと ● ウェブサーバーの台数の最適化 ○ 初期に想定していた台数の1/4の台数で調整 ● サーバーの潜在能力の確認 ○ 理論値でどの程度の接続数まで耐えられるか
Slide 39
Slide 39 text
プリンセスコネクト!Re:Dive 英語版の リリース後の結果
Slide 40
Slide 40 text
リリース後の結果 インフラ障害無く 無事リリース!
Slide 41
Slide 41 text
リリース後の結果 ● 約160ヶ国に配信 ● リリース2ヶ月で200万DL達成!
Slide 42
Slide 42 text
Q2.プリンセスコネクト!Re:Dive 英語版の 運営初月のリソースダウンロード量
Slide 43
Slide 43 text
Q2.運営初月のリソースダウンロード量は何バイト? (CDNのダウンロード量) ● 3GB ● 3TB(3,000GB) ● 3PB(3,000,000GB) ● 3EB(3,000,000,000GB)
Slide 44
Slide 44 text
運営初月のリソースダウン ロード量は何バイト? ⓘ Start presenting to display the poll results on this slide.
Slide 45
Slide 45 text
Q2.運営初月のリソースダウンロード量は何バイト? (CDNのダウンロード量) ● 3GB ● 3TB(3,000GB) ● 3PB(3,000,000GB) ● 3EB(3,000,000,000GB)
Slide 46
Slide 46 text
リリース後の結果 3.4ペタバイト(PB)
Slide 47
Slide 47 text
まとめ
Slide 48
Slide 48 text
● 負荷試験を行う大切さ まとめ
Slide 49
Slide 49 text
● 負荷試験を行う大切さ ● 蓄積されてきた知見の重要性 まとめ
Slide 50
Slide 50 text
● 負荷試験を行う大切さ ● 蓄積されてきた知見の重要性 ● グローバル展開の可能性 まとめ
Slide 51
Slide 51 text
● 負荷試験を行う大切さ ● 蓄積されてきた知見の重要性 ● グローバル展開の可能性 まとめ グリーエンターテインメントHPの TECH BLOG でも紹介しています! https://gree-entertainment.com/topics/3235/
Slide 52
Slide 52 text
この開発で得た知見を 今後の開発に活かし ゲーム市場を盛り上げていきたい!
Slide 53
Slide 53 text
53