Extendの自動スケーリング
注釈:本資料はAI技術を用いて翻訳されています。
概要
この記事では、ホスト型Extendアプリのスケーリングの仕組みと、AccelByte Gaming Services(AGS)管理ポータルで平均目標CPU使用率に基づいて設定する方法について説明します。
ホスト型Extendサービスの自動スケーリング戦略
ホスト型Extendサービスは、需要に応じて水平スケーリングを戦略として使用します。水平スケーリングは、実行中のExtendアプリのレプリカ数を調整することで機能します。需要に応じてレプリカ数を即座にスケールアップします(遅延や安定化期間はありません)。レプリカのCPU使用率(内部コンポーネントを含む)が需要の指標として使用されます。Extendコントローラーは、ホスト型ExtendサービスのすべてのレプリカからのCPU使用率の平均を、設定された目標CPU使用率(デフォルトは50%)に近づけるために、以下のアルゴリズムを使用します:
desiredAppReplicas = ceil[currentAppReplica * ( currentAvgCPUUtilizationPercentage / targetCPUUtilizationPercentage )]
以下は、コントローラーが任意の時点で現在および目標のCPU使用率に基づいて実行するレプリカ数を決定する方法の例です:
-
例えば、スケールアウトのシナリオで、以下の条件の場合:
- アプリレプリカの現在の平均CPU使用率は90%(レプリカは目標使用率を大幅に上回って高度に使用されています)。
- 現在2つのアプリレプリカが実行中です。
- targetCPUUtilizationPercentageは50%に設定されています。
指定されたパラメータで計算:
desiredAppReplicas = ceil[2 * ( 90% / 50% )]
desiredAppReplicas = 4目標アプリレプリカ数は4になります。
-
最初の例と比較して、スケールアウトのシナリオで、以下の条件の場合:
- アプリレプリカの現在の平均CPU使用率は90%(レプリカは目標使用率を大幅に上回って高度に使用されています)。
- 現在2つのアプリレプリカが実行中です。
- targetCPUUtilizationPercentageは30%に設定されています。
指定されたパラメータで計算:
desiredAppReplicas = ceil[2 * ( 90% / 30% )]
desiredAppReplicas = 6目標アプリレプリカ数は6になります。上記の最初の例と比較して、アプリレプリカによる同じ現在のCPU使用率で、より多くの目標レプリカ数が得られます。これは、目標CPU使用率を30%と低くしたいため、50%の最初の例よりも多くのレプリカを実行して負荷を処理する必要があるためです。
-
別の例として、スケールインのシナリオで、以下の条件の場合:
- アプリレプリカの現在の平均CPU使用率は20%(アプリレプリカは目標使用率を下回って使用率が低い状態です)。
- 現在4つのアプリレプリカが実行中です。
- targetCPUUtilizationPercentageは50%に設定されています。
指定されたパラメータで計算:
desiredAppReplicas = ceil[4 * ( 20% / 50% )]
desiredAppReplicas = 2目標アプリレプリカ数は2になります。
自動スケーリングの平均目標CPU使用率の設定
パラメータtargetCPUUtilizationPercentageは、管理ポータルから設定可能で、さまざまなExtendアプリのユースケースと実装の動的なニーズに対応します。このパラメータは、CPU使用率の目標パーセンテージであり、クラスターは平均CPU使用率を目標に近づけるためにレプリカ数を調整します。
- 管理ポータルのExtendアプリの
targetCPUUtilizationPercentageは、デフォルトで50%であり、有効範囲の最小値:30%、最大値:90%の範囲内で設定できます
Extendアプリの平均目標CPU使用率に基づいて自動スケーリングを設定するには、次の手順に従います:
-
AGS管理ポータルのサイドバーで、Extendに移動し、アプリがあるExtendアプリメニューを選択します。
-
Extendアプリのリストから、更新したいExtendアプリの名前をクリックして、詳細ページを開きます。
-
詳細ページの右上にある設定ボタン(歯車アイコン)をクリックします。設定ページが表示されます。

-
Extendアプリの設定ページで、自動スケーリングポリシーフォームセクションの**目標CPU使用率(%)**を必要に応じて設定します:

-
保存をクリックして変更を適用します。
警告設定しているExtendアプリが現在実行中の場合、変更を保存すると、変更を適用するためにアプリが自動的に再起動されます。それ以外の場合は、変更を適用するために再デプロイしてください。
平均目標CPU使用率を決定するための一般的なガイド
このセクションは、開発者がアプリケーションのニーズと動作に基づいて自動スケーリングの目標CPU使用率を決定するのに役立ちます。
目標CPU使用率の要件は大きく異なる可能性があるため、Extendアプリのパフォーマンスをテストおよび監視し、それに応じて自動スケーリングを調整することが重要です。
さまざまなExtendアプリのケースに対応するために目標CPU使用率を決定する際の考慮事項は次のとおりです:
- アプリケーションの動作を理解する、トラフィックパターンを評価することによって:
- バーストトラフィック:負荷の頻繁な急増。
- 安定したトラフィック:時間の経過とともに一貫したワークロード。
- ベースラインから始める
- すべてのExtendアプリのデフォルトの開始点は、目標CPU使用率50%です
- トラフィックに基づいて調整します。これらはより一般的な考慮事項です:
- バーストトラフィック:急増時の余裕のために30-50%
- 安定したトラフィック:リソース効率のために60-80%
- スケーリングの遅延を考慮する
- スケールアップは、新しいレプリカが実行され、トラフィックを受信する準備ができるまでに遅延が発生します。
- より低い目標CPU使用率(例:30-50%)は、新しいレプリカが準備できる前に急増を処理するためのバッファー容量を提供します。
- 正確なCPUリクエストを確保する
- HPAの計算はCPUリクエストに依存します(このページに従ってください CPUリクエストを設定するには)
- CPUリクエストが高すぎる場合、実際の使用率は実際よりも低く表示され、スケーリング不足の原因となります。
- CPUリクエストが低すぎる場合、実際の使用率は高く表示され、過剰なスケーリングの原因となります
注記適切なCPUリクエストを設定するには、テスト、監視、および時間の経過とともにExtendアプリのパフォーマンスを再評価する必要がある場合があります。
- HPAの計算はCPUリクエストに依存します(このページに従ってください CPUリクエストを設定するには)
- テストと改善
- 要件に応じて、ピークトラフィックをシミュレートし、自動スケーリングの動作を観察するために負荷テストを実行することをお勧めします
- 時間の経過とともに監視し、観察されたパフォーマンスと安定性に基づいて目標CPU使用率を調整します
一般的な例のシナリオ:
アプリケーションの観察:
- CPUリクエスト:レプリカあたり500m
- 通常の負荷:約150-250m
- ピーク負荷:最大500m
推奨事項:
- CPUリクエストを400mに設定します。これは通常のワークロードのほとんどをカバーします。
- 目標CPU使用率を60%に設定します
- 使用率のしきい値:400m * 60% = 240m
- これにより、レプリカが限界に達する前にスケーリングが発生し、通常の負荷でアプリケーションのパフォーマンスが維持されます。