MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋...

13
MRSとMUNを用いた リアルタイムゲームサーバの インフラコスト予測 2017年4月27日 (株)モノビット 取締役CTO 中嶋謙互 https://github.com/kengonakajima

Transcript of MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋...

Page 1: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

MRSとMUNを用いたリアルタイムゲームサーバの

インフラコスト予測

2017年4月27日(株)モノビット 取締役CTO 中嶋謙互

https://github.com/kengonakajima

Page 2: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

• MRS (Monobit Realtime Server)とは

• TCP/UDPソケットを用いた高速軽量なリアルタイムゲーム通信を実装するための、サーバおよびクライアント用のライブラリ

• MUN (Monobit Unity Network)とは

• MRSを用いて実装された、Unity用の、プログラミング作業をしなくてもマッチングやゲームオブジェクトの同期が簡単にできるアセット

MRS と MUN

Page 3: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

• MUNを用いてリアルタイムゲームサーバを実装するときのインフラコスト予測(マシンと通信帯域)の方法

• HTTPサーバ側は含みません

本日の内容

Page 4: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

自動計算ツール (完成版はMUNに添付予定)

Page 5: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

自動計算ツールの使い方

• リアルタイム通信部分の設計作業をする時、条件をいろいろ変えながら最適な設計を探る

• IDCFクラウド様の実環境 (HighCPU L8)環境での測定値にもとづいて必要台数などを導出

Page 6: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

計算する対象となるサーバー

Webサーバー

インターネット

リアルタイムサーバー

クライアント クライアント クライアント

ここのコスト

DBサーバー

Page 7: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

・・・・・・

クライアント

master

resolver proxy

クライアント クライアント

proxyroomroom

MUNの1つのワールド(shard)

インターネット

1. アドレス解決

2. 部屋を検索

全参加者の入室状態を管理

全てのサーバのアドレスとポートを管理

masterの負荷分散

3. ゲームデータ同期

常時接続

一時的な接続

部屋

Page 8: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

マシン構成の例

master

resolver

CPU/RAM小さめ

CPU/RAM多め

CPU多め RAM少なめ を複数

外部LAN

proxy proxy

CPU多め RAM少なめ を複数

room room

内部LAN 10.x.x.x

インターネット

Page 9: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

• master, resolver は常に1プロセス

• 新規クライアントが参加するときだけ負荷がかかる

• proxy, room のみ複数化される

• roomはゲームのパケットの量に比例して負荷が上がる

• すべてシングルスレッドサーバで、負荷が上がるとCPU使用率が上がっていって、100%近くなるとタイムアウトが発生する

• 通信帯域は1プロセスあたり数百Mbps以上対応可能(ボトルネックにならないので無視できる)

• CPUに余力を残す設計をするのがポイント

MUNサーバ構成のポイント

Page 10: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

• 同時プレイ人数

• 部屋あたり人数

• パケット送信頻度

• 平均データサイズ

• ボイスチャット使用者率

• ボイスチャット無音率

• ピーク負荷のならし率

ゲーム内容から仮定する条件を考えていく

Page 11: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

• マシン1台あたりの

• vCPUまたはコアまたはスレッドの数

• RAM容量

• 月額費用

• 通信1GBあたりの

• 送信費用

• 受信費用

• 無料枠

利用するハードウェアの条件を明確にする

Page 12: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

• 負荷テストの自動化

• プロセス数の自動増減機能

• マシン数の自動増減機能

MRS/MUN開発の次のステップ

Page 13: MRSとMUNを用いたリアルタイムゲームサーバのインフラコスト予測 中嶋 謙互(モノビットエンジンセミナー2017年4月)

MRS/MUN Webサイト

• MRS http://www.monobitengine.com/mrs/

• MUN http://www.monobitengine.com/mun/