![HAProxy のレイヤー 4 およびレイヤー 7 のタイムアウトの考えられる原因は何ですか?](https://rvso.com/image/756803/HAProxy%20%E3%81%AE%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%204%20%E3%81%8A%E3%82%88%E3%81%B3%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%207%20%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E3%81%AE%E8%80%83%E3%81%88%E3%82%89%E3%82%8C%E3%82%8B%E5%8E%9F%E5%9B%A0%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
Stackoverflow の質問をコピーします:https://stackoverflow.com/q/63683206/6344947
API を呼び出したときに、アプリケーションで 503 が返されていることがわかりました。インスタンスの HAProxy LB 統計をチェックすると、インスタンスの 1 つにレイヤー 4 タイムアウトが表示され、もう 1 つにレイヤー 7 タイムアウトが表示されていました。
インスタンスでは、バックエンド サービスとして機能する Java プロセスが実行されていました。プロセスを再起動すると、正常に戻ったことがわかりました。
では、原因を突き止める方法はありますか? メモリ不足の問題も原因でしょうか? ログを見ましたが、OOM に関連するものは何もありませんでした。また、過去にそのインスタンスで OOM の問題が発生しましたが、そのときは HAProxy の統計をチェックしていませんでした。
ご協力いただければ幸いです。
答え1
レイヤー 4 は、TCP ハンドシェイクを待機中にタイムアウトになったことを意味します。サーバーがダウンしている可能性があります。レイヤー 7 は、HTTP 応答を待機中にタイムアウトになったことを意味します。つまり、アプリケーションは実行中 (おそらく起動中) で、指定されたポートでリッスンし、TCP 接続を受け入れていますが、時間内に HTTP 応答を提供していません。まだ起動中かもしれません。一部の Java アプリケーションは、実際に起動するまでに数分かかります。どちらの場合も、バックエンド アプリケーションの問題を示しており、haproxy 自体の問題ではありません。この Java アプリケーションのログを確認する時期が来たと思います。