我正在复制我的 Stackoverflow 问题:https://stackoverflow.com/q/63683206/6344947
当我访问 API 时,我发现我的应用程序收到 503 错误。当我检查我的实例的 HAProxy LB 统计信息时,我发现其中一个实例显示第 4 层超时,另一个实例显示第 7 层超时。
这些实例中运行着一个 Java 进程,充当后端服务。重新启动该进程后,我发现一切恢复正常。
那么有什么方法可以找出原因吗?也可能是因为内存不足的问题吗?我看过日志,但没有与 OOM 相关的内容;此外,我们过去也遇到过 OOM 问题 - 但当时我没有检查 HAProxy 统计数据。
任何帮助,将不胜感激。
答案1
第 4 层意味着它等待 TCP 握手超时,也许服务器已关闭?第 7 层意味着它等待 HTTP 应答超时,因此应用程序正在运行(可能正在启动?),监听指定端口并接受 TCP 连接,但未及时提供 HTTP 响应。也许它仍在启动?一些 Java 应用程序需要几分钟才能真正启动。这两种情况都表明后端应用程序存在问题,而不是 haproxy 本身存在问题。我想是时候检查这个 Java 应用程序的日志了。