首页/网络/协议速查/TCP 生产调优参数速查
TCP 与 UDP54 条

TCP 生产调优参数速查

高频内核参数一张表:从端口复用、队列、keepalive 到时间等待,按需取用;改完务必持久化到 /etc/sysctl.d/。

协议速查网络更新于 2026-10-13

这些参数管什么

TCP 内核参数集中在 net.ipv4.*,用来控制端口复用、连接队列、keepalive 与本地端口范围。它们不是「越大越好」的开关,而是针对具体瓶颈的调节旋钮:先看监控(重传率、队列溢出、TIME_WAIT 数量)再动手,改完必须持久化,否则重启就回到默认值。

基本信息

适用平台Linux(各发行版同源,默认值略有差异)
生效方式sysctl -w 临时生效;写入 /etc/sysctl.d/*.conf 持久
生效范围当前网络命名空间,容器内需单独设置
查看sysctl net.ipv4.tcp_tw_reuse
重载sysctl -p /etc/sysctl.d/99-tcp.conf

高频参数

参数建议值作用
net.ipv4.tcp_tw_reuse1客户端侧安全复用 TIME_WAIT 四元组
net.ipv4.tcp_fin_timeout15–30FIN_WAIT_2 兜底超时(秒)
net.ipv4.tcp_keepalive_time600空闲多久开始探测
net.ipv4.tcp_keepalive_intvl30探测间隔(秒)
net.ipv4.tcp_keepalive_probes6探测失败几次后判定断开
net.core.somaxconn65535全连接队列上限,需与应用 backlog 匹配
net.ipv4.tcp_max_syn_backlog65535半连接队列上限,抗 SYN 洪泛
net.ipv4.ip_local_port_range10000 65535本机可用源端口范围

应用与核对

应用与核对
sysctl -w net.ipv4.tcp_tw_reuse=1                  # 临时生效,仅用于试验
# 持久化:写入 /etc/sysctl.d/99-tcp.conf 后执行
sysctl -p /etc/sysctl.d/99-tcp.conf
sysctl net.ipv4.tcp_tw_reuse net.core.somaxconn    # 核对实际生效值
ss -s                                              # 看 TIME_WAIT 与连接总数分布
nstat -az | grep -E 'ListenOverflow|Retrans'       # 队列溢出与重传计数

什么时候该调

  • 主动发起大量短连接(代理、压测机)时关注 tcp_tw_reuse 与本地端口范围
  • 高并发接入的服务端,被日志里的 listen queue overflow 提示逼着调大队列上限
  • 长连接常被中间设备静默回收,缩短 keepalive 时间让它更早发现死连接
  • MTU 黑洞导致大包卡死时,用 tcp_mtu_probing 自动探测可行 MTU
  • 出现 connect: Cannot assign requested address 时,先扩本地端口范围

先采集再调

  • 重传率:nstat 或 ss -ti 里的 retrans 计数
  • 队列溢出:netstat -s 中的 listen queue overflow
  • TIME_WAIT 数量与源端口分布,判断是端口耗尽还是连接泄漏
  • 应用侧连接池与 backlog 配置,内核队列与应用设置必须匹配
参数不是越多越好:没有监控数据就照抄网上配置,往往把「连接失败」换成「内存暴涨」或「端口耗尽」,问题类型变了但没消失。

风险与回退

  • 一次只改一到两个参数,观察至少一个完整业务周期再动下一个
  • 调节前把当前取值存档(sysctl -a 输出即可),便于一键回退
  • 避开业务高峰调参,出问题时要留有观察与回滚窗口
  • 参数改错影响连接时,最快的止损是恢复原值并重启相关服务

易错点

  • tcp_tw_recycle 在新内核已移除,照抄老教程会直接报错;它当年在 NAT 环境还会误丢正常包
  • somaxconn 调大但应用 backlog 仍是默认值,队列上限按较小者生效,等于没改
  • 只执行 sysctl -w 不写配置文件,重启后参数回退,故障在下次重启时原样复现
  • 在容器里改了参数却忽略命名空间隔离,其他容器不受影响,容易得出「改了没用」的错误结论

数据来源与参考

  • Linux 内核文档(IP Sysctl)
  • man 7 tcp

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌