View a markdown version of this page

GAMEPERF04-BP01 ゲームサーバープロセスをモニタリングして問題を検出する - ゲーム業界レンズ

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

GAMEPERF04-BP01 ゲームサーバープロセスをモニタリングして問題を検出する

インスタンスごとに複数のゲームサーバープロセスを実行して、ゲームサーバーインスタンスのリソースを効率的に活用できます。その場合、ゲームセッションをホストする個々のゲームサーバープロセスが、同じインスタンスでホストされている他のゲームセッションに悪影響を及ぼさないようにアーキテクチャを設計します。メトリクスを使用して、ゲーム配置とゲームモードタイプがゲームサーバーインスタンスのパフォーマンスにどのように影響するかを理解します。ゲームサーバーインスタンスがホットスポッティングされないように、低負荷 (ロビー、ショップ、またはシングルプレイヤーチュートリアル) と高負荷 (ランク付け、マルチプレイヤー、またはハイスキルゲームプレイ) のプロセスを組み合わせて組み込みます。

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

実装のガイダンス

ping 時間とジッター、フレームドロップ、API 応答時間、エラー、ゲームループの正常な完了に関するテレメトリを収集して、クライアント側とサーバー側のメトリクスを通じてプレイヤーエクスペリエンスをモニタリングします。これらのイベントのタイムスタンプをプレイヤーサポートの問題やサーバーログと関連付けて、パフォーマンスのボトルネックを特定します。DtraceftraceuperfeBPF などのツールは、システムパフォーマンスの詳細な調査と分析に使用できます。

ゲームサーバーインスタンスで使用できる制限されたリソースのモニタリングを実装して、個々のゲームサーバープロセスが事前に定義されたリソース予算のしきい値を超えたときにアラートを生成できるようにします。しきい値を超えると、ゲームサーバーエンジニアがこの動作を調査できるように、関連するシステムとゲームサーバーのログ記録ソリューションなどの耐久性のあるストレージにログアウトするようにゲームサーバーソフトウェアを設定できます。さらに、ゲームサーバーインスタンスは、インスタンスで実行されている各ゲームサーバープロセスのメトリクスをレポートするように設定する必要があります。これにより、ゲームサーバーインスタンスの全体的なメトリクスに加えて、これらの個々のゲームサーバープロセスをモニタリングできます。

例えば、GameLift はゲームセッションをモニタリングするためのメトリクスを提供します。このメトリクスは、ゲームサーバーインスタンスで設定できる Amazon CloudWatch エージェントを使用して収集されたカスタムゲーム固有のメトリクスとログで拡張できます。メトリクスは CloudWatch で表示することも、シングルサインオンと統合されている Amazon Managed Grafana などの他のツールにエクスポートすることもできます。これにより、 マネジメントコンソールにアクセスできないユーザーがメトリクスに簡単にアクセスできます。Amazon GameLift を使用してログとメトリクスを管理するための以下のベストプラクティスを参照してください。これにより、個々のゲームセッションログの表示もサポートされます。

実装手順

  • インスタンスごとに複数のゲームサーバープロセスを実行し、低負荷ゲームモードと高負荷ゲームモードを組み合わせて、ホットスポッティングを回避し、バランスの取れたリソース使用率を検証します。

  • ping、ジッター、フレームドロップ、API 応答時間などのクライアント側およびサーバー側のメトリクスをモニタリングし、これらをプレイヤーによって報告されたサーバーログや問題と関連付けてボトルネックを特定します。

  • 各ゲームサーバープロセスのリソースモニタリングを設定し、しきい値違反のアラートを生成し、CloudWatch や Amazon Managed Grafana などのツールを使用して、分析のために耐久性のあるストレージにログを保存します。