网络栈调优98 条

TIME-WAIT 堆积诊断

短连接服务出现大量 TIME-WAIT 时, 先量化数量与端口分布, 再判断是否真的影响端口可用性, 避免盲目关闭时间等待。

计数与分布

计数与分布
ss -tan state time-wait | wc -l
ss -tan state time-wait | awk '{print $4}' | cut -d: -f2 | sort | uniq -c | sort -rn | head
观察点说明
本端固定端口集中主动关闭方是本地服务
对端端口集中上游是短连接客户端或代理
TIME-WAIT 是正常连接状态; 只有端口耗尽(bind 报 EADDRINUSE)或内存明显占用时才需处理, 优先改长连接与连接池。

易错点

  • 把 TIME-WAIT 数量高直接当故障, 应用未报错却在无关场景调参
  • 忘记 tcp_tw_reuse 仅作用于出站连接

数据来源与参考

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