View a markdown version of this page

GAMEPERF01-BP01 ゲームサーバーのリソース要件とスケーラビリティのニーズを評価する - ゲーム業界レンズ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

GAMEPERF01-BP01 ゲームサーバーのリソース要件とスケーラビリティのニーズを評価する

スケーラビリティのニーズに照らしてサーバー要件を評価し、要件を満たし、最適なパフォーマンスを提供するホスティングオプションを選択していることを確認します。

このベストプラクティスを活用しない場合のリスクレベル:

実装のガイダンス

ゲームサーバーに適したホスティングオプションを選択するときは、次の要素を考慮してください。

ゲームサーバーリソースの要件

ゲームサーバープロセスの CPU、メモリ、ネットワーク、ストレージの要件を評価して、ゲームが消費する内容を決定します。ネットワークを見落としないでください。各フレームでは、プレイヤーアクションを受信し、ゲームの状態を更新してプレイヤーに送り返すために CPU サイクルが必要です。パケット処理をオフロードすると、コアゲーム機能の CPU を解放できます。ネットワークはスムーズで応答性の高いゲームプレイの基盤であるため、プロセスの早い段階でテストすると、ゲームのベースラインパフォーマンスプロファイルが定義されます。

ファーストパーソンシューティングゲームは 1 秒あたりに高いアクションがあり、CPU はコンピューティング最適化 C ファミリーインスタンスを優先するネットワークにすばやく移行する必要があります。一方、1 ターンあたりにより多くの CPU サイクル処理を消費できるターンベースの戦略ゲームでは、R ファミリーインスタンスのメモリを増やして、プレイヤーに送り返す前にサーバーにゲームの状態をローカルに保存および更新する必要があります。使用率飽和とエラー (USE) メソッドなどのデータ駆動型アプローチを使用して、十分な情報に基づいたアーキテクチャの選択を行います。

スケーラビリティと伸縮性

パフォーマンスを損なうことなく、各ホスティングオプションがプレイヤーの需要に合わせてどれだけ迅速かつスムーズにスケーリングできるかを評価します。ピーク時にスムーズなゲームエクスペリエンスを維持するために、ゲームのワークロードに必要な自動化と柔軟性のレベルを検討してください。ゲームサーバーは、同じインスタンスにゲームサーバープロセスを追加することで使用率を高めることで迅速にスケールできます。この場合、ゲームバックエンドは、アクティブなユーザー数の増加とプレイ中のゲームに基づいてスケールが遅くなる可能性があります。プレイヤーがゲームに参加するための待機時間を最小限に抑えながら、コストを最小限に抑えるために、フリートは需要に応じてスケールする必要があります。Amazon EC2 スポットインスタンスアドバイザーを確認して、ゲームサーバーフリートのコスト効率の高い利用可能な容量に関するインサイトを取得します。

実装手順

  • FPS ゲームの高ネットワークスループットやターンベースの戦略ゲームのメモリ最適化など、ゲーム固有のパフォーマンスニーズを考慮して、CPU、メモリ、ネットワーク、ストレージのゲームサーバーリソース要件を評価して、適切なインスタンスタイプを選択します。

  • USE メソッドなどのフレームワークを使用してパフォーマンスデータを分析することで、コンテナ、インスタンス、ベアメタル、マネージドサービスなどのさまざまなホスティングオプションを比較します。これらのインサイトを使用して、システムアーキテクチャに関するより良い意思決定を行います。

  • スケーラビリティと伸縮性のためにフリートを設計し、EC2 スポットインスタンスアドバイザーなどのツールを活用してコストを最適化しながら、ピーク時にプレイヤーの需要を満たすための迅速なスケーリングを促進します。