开启keepalive 策略:
我们通常需要调整触发 KeepAlive 的 idle 时间间隔:
s.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, 10)
最后一个参数 10 表示在连接不活跃 10s 后开始 KeepAlive 检测。
s.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, 6)
最后一个参数表示每隔 6s 发送一次。
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, after_idle_sec)
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, interval_sec)
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, max_fails)
09:12:44.562557 IP node2.62703 > node1.webcache: Flags [.], ack 2734275117, win 115, options [nop,nop,TS val 129479501 ecr 2309184], length 0
09:12:46.562941 IP node2.62703 > node1.webcache: Flags [.], ack 2734275117, win 115, options [nop,nop,TS val 129481501 ecr 2309184],
tcp 开启keepalive
最新推荐文章于 2023-08-15 15:12:04 发布
本文深入探讨了TCP协议中的Keepalive机制,包括其作用、配置参数以及在实际网络连接维护中的应用。通过理解Keepalive,可以更好地防止长时间无数据交换导致的连接僵死问题,确保服务的稳定性和可靠性。
摘要由CSDN通过智能技术生成