关于 Google Cloud HTTP(S) 负载均衡器的 TCP 空闲超时问题

问题描述

我发现 Google Load Balancer 的 TCP 空闲超时是 600 秒,我想尝试确认一下。

我使用以下命令进行测试,预计在等待连接关闭后大约 600 秒得到结果。

time telnet {LB IP} 80

事实上,我得到了这个结果。

Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx
Escape character is '^]'.
Connection closed by foreign host.

real    4m0.015s
user    0m0.003s
sys     0m0.001s

大约是 4 分钟,而不是 600 秒。

有什么问题吗?有关如何测试 TCP 空闲超时值的任何建议?

谢谢!

解决方法

TCP 会话超时值固定为 10 分钟(600 秒),其值无法通过修改后端服务进行配置。

我建议您配置后端使用的 Web 服务器软件,使其保持活动超时超过 600 秒,以防止后端过早关闭连接。此超时不适用于 websocket。

我运行了相同的命令,对我来说也是 4 分钟。

欲了解更多信息,请访问链接 [1]。

@instance-1:~$ time telnet [LB IP] 80

正在尝试 LB IP...

连接到 LB IP。

转义字符是'^]'。

连接被外部主机关闭。

真正的 4m0.017s

用户 0m0.002s

系统 0m0.000s

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