2

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

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

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

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

4

1 回答 1

0

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

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

此 TCP 会话超时也称为 keepalive 超时,您必须在后端使用的 Web 服务器软件端配置此超时。因此,它的 keepalive 超时时间超过 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

于 2021-05-26T08:55:25.593 回答