HAProxy 中第 4 層和第 7 層超時的可能原因有哪些?

HAProxy 中第 4 層和第 7 層超時的可能原因有哪些?

我正在複製我的 Stackoverflow 問題:https://stackoverflow.com/q/63683206/6344947

當我訪問 API 時,我發現我的應用程式收到了 503 錯誤。當我檢查實例的 HAProxy LB 統計資料時,我發現其中一個顯示第 4 層逾時,另一個顯示第 7 層逾時。

HAProxy LB 統計螢幕截圖: https://i.stack.imgur.com/6Vtnc.png

這些實例中有一個 Java 程序在其中運行,充當後端服務。重新啟動該過程後,我發現一切恢復正常。

那麼有什麼辦法可以查出可能的原因嗎?難道也是因為記憶體不足的問題嗎?我看過日誌,但是沒有任何與OOM相關的內容;另外,我們過去在該實例中遇到過 OOM 問題 - 但當時我沒有檢查 HAProxy 統計資料。

任何幫助,將不勝感激。

答案1

第 4 層意味著等待 TCP 握手超時,也許伺服器已關閉?第 7 層意味著等待 HTTP 應答逾時,因此應用程式正在運行(也許正在啟動?),偵聽指定連接埠並接受 TCP 連接,但沒有及時提供 HTTP 回應。也許它還在啟動?有些 Java 應用程式需要幾分鐘才能真正啟動。這兩種情況都表明後端應用程式有問題,而不是 haproxy 本身有問題。我想說是時候檢查這個 java 應用程式的日誌了。

相關內容