ロードバランサーの適切なヘルスチェックタイムアウトをどのように決定しますか?
私のアプリケーションはロードバランサーのヘルスチェックに失敗しています。デフォルトのヘルスチェックタイムアウトである5秒を使用していますが、CloudWatchの平均レイテンシーグラフは、アプリケーションが最大30%で実行される期間(2〜4時間続く)で最大50秒に跳ね上がることに気付きました。 CPU使用率。メモリ使用率とIOPSはすべて低く、安定しています。 30%の使用率は、ヘルスチェックの応答が5秒を超えて増加すると予想するのに十分高いですか?もしそうなら、ヘルスチェックのタイムアウトを決定する標準的な方法はありますか?
あなたの質問に対する答えは曖昧でなければなりません。質問への回答 '正しいヘルスチェックタイムアウトを決定するにはどうすればよいですか `?'質問に答えるのと非常に似ています '私のアプリケーションではどのレイテンシがまだ正常であると見なされますか?'。
一般的なガイドは次のように言い換えることができます。
アプリケーションの許容可能なレイテンシーを決定します。あなたの場合、50秒はまだ許容できると想定できます。これは非常に異常だと思いますが、あなたのアプリケーションがわからないので、私はそれを使って作業しています。
タイムアウトを最初はそれを少し超える値、たとえば55秒に設定します。
本番負荷と同様の負荷でアプリケーションの負荷テストを行い、それが機能するかどうかを確認します。
必要に応じてアプリケーションとヘルスチェックを調整し、満足のいく結果が得られるまで繰り返して、本番環境に移行します。
1からやり直します。
CPU使用率に関する2番目の質問を検討します。それはアプリケーションによって異なります。テストを実行し、負荷テストを実行し、ボトルネックを見つけ、ボトルネックを取り外します。