首页/系统/Linux 内核与性能调优速查/TCP_USER_TIMEOUT 控制未确认数据等待
网络栈调优98 条

TCP_USER_TIMEOUT 控制未确认数据等待

应用级超时接口: 设置后, 已发送数据在指定毫秒内未获确认即断开连接, 用于卡死连接的快速回收。

C 用例

C 用例
int ms = 30000;
setsockopt(fd, IPPROTO_TCP, TCP_USER_TIMEOUT, &ms, sizeof(ms));
区别于 keepalivekeepalive 探测空闲连接; USER_TIMEOUT 针对已发送未确认数据
典型场景长连接网关、数据库驱动、消息队列客户端

易错点

  • 设得过短会在网络抖动时误断正常连接
  • 以为它能替代应用层重连与幂等设计

数据来源与参考

  • man 7 tcp
  • Linux Documentation/networking/ip-sysctl.txt
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌