3.2. API サービスのスケーリングに関する主要パフォーマンス指標
スケーリングにより、増加した負荷を処理するリソースが追加されます。これは主に、水平スケーリング (Pod またはインスタンスの追加) または垂直スケーリング (Pod またはインスタンスへの CPU またはメモリーリソースの追加) によって実現されます。適切なスケーリングにより、高い可用性が確保され、負荷があってもパフォーマンスが維持されます。
以下の主要パフォーマンス指標が 1 つ以上見られる場合は、サービスのスケーリングを検討してください。この指標は、コンポーネントが許容範囲に達し、現在の要求負荷を効率的に処理できないことを示しています。
- API レイテンシーが多い
- CPU 使用率が高い
- トラフィックが集中する時期にエラーが発生する
3.2.1. API レイテンシーが多い リンクのコピーリンクがクリップボードにコピーされました!
API 要求で高いレイテンシーが続く場合は、重要なパフォーマンス上の指標となります。すべてのリクエストは、プロキシーとして機能し、リクエストを該当するサービスに転送するプラットフォームゲートウェイを介して行われます。要求は、API 要求の URL 内のルートに応じて宛先サービスに送信されます。
-
プラットフォームゲートウェイ:
/api/gateway -
Automation Controller:
/api/controller -
Event-Driven Ansible:
/api/eda -
Event-Driven Ansible Event Streams:
/eda-event-streams/api/eda/v1/external_event_stream/ -
Automation Hub:
/api/galaxy
Envoy プロキシーログを通じてさまざまなルートのレイテンシーを監視することで、スケーリングが必要なサービスを特定できます。これらのルートは、OpenShift Container Platform のプラットフォームゲートウェイ Pod のプロキシーコンテナー内、または仮想マシンベースのインストールとコンテナーベースのインストールのプラットフォームゲートウェイノードのプロキシーログ内に存在します。レイテンシーがターゲット API しきい値を超える場合 (例: 99 パーセンタイル >1500 ミリ秒)、アラートをトリガーするか、Web サービスを拡張する必要があることを示します。
3.2.2. CPU 使用率が高い リンクのコピーリンクがクリップボードにコピーされました!
サービスの API Pod の CPU 使用率が一貫して高い場合、受信リクエストをタイムリーに処理できず、リクエストのバックログが発生する可能性があります。次の指標は CPU 使用率が高いことを示しています。
- Envoy プロキシーログからの合計リクエスト時間とサービスの WSGI ログからの処理時間が長い
- Envoy の合計レイテンシーが高い
- 要求が処理される前にキューで待機している
3.2.3. エラーコード リンクのコピーリンクがクリップボードにコピーされました!
プラットフォームゲートウェイのプロキシーコンテナー (OpenShift Container Platform 上) またはプロキシーログ (仮想マシンベースおよびコンテナーベースのインストールの場合) 内のエラーコードは、サービスをスケーリングする必要があることを示します。これらの問題は、サービスが過負荷になり、リクエストにタイムリーに対応できなくなると発生することが多く、その前にレイテンシーが大きくなる期間が発生することがよくあります。
-
Upstream Authentication Failure: Envoy ログの
502 UAEX(Upstream Authentication Extension) 応答は、リクエストの認証フェーズ中に問題が発生したことを示します。これは、認証サービスが過負荷になっているか、タイムアウトになっているか、問題のある応答を返していることを示しています。 -
Upstream Service Unhealthy: 特定のサービスに対する
503 UH(Upstream Service Unhealthy) 応答は、Envoy がそのサービスの Pod の 1 つ以上を異常としてマークし、トラフィックを送信していないことを意味します。これは、アップストリーム Pod がヘルスチェックに失敗した場合に発生します。ヘルスチェックはクライアントトラフィックと同じリクエストキューを共有するため、時間内にヘルスチェックに応答できない過負荷の Pod は、一時的にロードバランシングプールから削除されます。 -
Upstream Connection Failure: 特定のサービスのリクエストに対する
503 UF(Upstream Connection Failure) は、Envoy がアップストリーム Pod に接続しようとしたが、接続に失敗したことを示します。これは、アップストリームサービスが過負荷になり、新しい接続を受け入れることができない場合に発生する可能性があります。Envoy 応答フラグ (HTTP応答コードの後に続く文字コード) の詳細は、アクセスログ を参照してください。