【问题标题】:GCP internal http(s) load balancer timeout after 300sGCP 内部 http(s) 负载平衡器在 300 秒后超时
【发布时间】:2021-08-12 10:35:01
【问题描述】:

最近,我在 GCP 上的内部 http(s) 负载平衡器遇到问题,关于后端服务(实例组)的 超时。 300 秒后,API 调用 LB 将失败并返回 408 HTTP 响应。

  • 我在 GCP 上有一个内部 HTTPS 负载平衡器 (LB)。
  • 首先,我通过 LB 调用了一个快速 API,它工作正常。
  • 然后我将后端服务的超时设置为 10 秒,然后调用慢速 API(例如,500 秒来完成请求)。错误响应按预期在 10 秒后发生。
  • 但是,当我将超时设置为 1000 秒并调用慢速 API 时,我在恰好 300 秒后收到了错误超时响应。

我还将连接耗尽超时增加到 1000 秒,但它仍然不起作用。

是否需要设置任何参数以允许 API 的回复时间超过 300 秒?谢谢。

【问题讨论】:

    标签: google-cloud-platform gcp-load-balancer


    【解决方案1】:

    据我了解,您已将后端服务超时配置为 1000 秒,这表示负载均衡器等待后端返回完整 HTTP 响应的时间。

    但似乎您遇到的错误 408 问题似乎与后端服务超时无关,而是与 TCP 会话超时有关。 TCP 会话超时可在 Web 服务器软件端配置,供您的后端使用。

    此 TCP 会话超时也称为 keepalive 超时,您必须在 Web 服务器软件端配置此超时,供您的后端使用。使其保持连接超时时间超过 600 秒,以防止连接被后端服务过早关闭,这有助于通过重用打开的连接来使 TCP 会话保持打开更长的时间。

    请参考以下链接以查找与上述解决方案相关的更多详细信息:

    [1]https://cloud.google.com/load-balancing/docs/backend-service#backend_service_settings

    [2]https://cloud.google.com/load-balancing/docs/https#timeouts_and_retries

    [3]https://cloud.google.com/compute/docs/troubleshooting/general-tips#idle-connections

    【讨论】:

    • 不是我的Web服务器软件问题,我尝试通过IP直接调用API到我的后端服务的VM,而不是通过负载均衡器,并且响应在500秒后正确返回。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 2020-06-09
    • 2021-09-18
    • 2022-01-10
    • 2020-10-07
    • 2021-08-31
    相关资源
    最近更新 更多