最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
CentOS 服务器 TCP 调优如何配
时间:2026-08-13 08:23:49 编辑:袖梨 来源:一聚教程网
CentOS TCP调优围绕连接建立、数据传输、资源回收三环节,通过调整SYN队列、缓冲区、TIME-WAIT等参数提升高并发性能,需配套文件句柄与拥塞控制优化,并写入sysctl.conf后执行sysctl -p生效。
CentOS 服务器 TCP 调优不是堆参数,而是围绕连接建立、数据传输、资源回收三个环节做针对性调整。核心是让内核更高效地处理高并发短连接或长连接场景,避免队列溢出、缓冲区瓶颈和 TIME-WAIT 占用过多端口。
TCP 连接容量调优
重点解决“连不上”问题,比如 SYN 队列满、监听队列打满导致连接被丢弃:
-
net.core.somaxconn = 65535:应用 listen() 的 backlog 上限,必须 ≥ 应用设置(如 Nginx 的listen ... backlog=65535) -
net.ipv4.tcp_max_syn_backlog = 65535:SYN 半连接队列长度,防止 SYN Flood 或突发建连压垮队列 -
net.core.netdev_max_backlog = 65535:网卡软中断收包队列,配合多队列网卡使用,避免包在驱动层就被丢
TCP 缓冲区与吞吐调优
影响带宽利用率和延迟,尤其对千兆以上网络或跨公网链路:
-
net.ipv4.tcp_rmem = "4096 262144 8388608":接收缓冲区最小/默认/最大值(单位字节),最大设为 8MB 可支撑高带宽低延迟场景 -
net.ipv4.tcp_wmem = "4096 262144 8388608":发送缓冲区同理,避免因窗口小限制发包速率 -
net.core.rmem_max = 8388608和net.core.wmem_max = 8388608:全局上限,确保应用可 setsockopt 修改 -
net.ipv4.tcp_window_scaling = 1:必须开启,否则 TCP 窗口无法突破 64KB,高延迟网络(如跨地域)会严重降速
TIME-WAIT 与连接复用优化
解决“端口耗尽”问题,常见于大量短连接(如 HTTP、RPC):
-
net.ipv4.tcp_tw_reuse = 1:允许把处于 TIME-WAIT 的 socket 用于新连接(需时间戳开启,安全且推荐) -
net.ipv4.tcp_fin_timeout = 30:主动关闭方 FIN_WAIT_2 超时时间,缩短连接释放周期 -
net.ipv4.tcp_max_tw_buckets = 6000:限制系统中 TIME-WAIT 套接字总数,防内存耗尽(不建议设为 0)⚠️ 注意:
tcp_tw_recycle在 NAT 环境下会导致连接失败,已废弃,务必禁用或不设置
其他关键配套项
单点调优无效,需同步调整:
-
fs.file-max = 1000000:系统级最大文件句柄数,配合 ulimit 使用 -
/etc/security/limits.conf中配置:* soft nofile 65535* hard nofile 65535
- 拥塞控制算法:
net.ipv4.tcp_congestion_control = bbr(内核 ≥ 4.9),比 cubic 更适合高带宽、有丢包的公网环境 - 启用时间戳:
net.ipv4.tcp_timestamps = 1(tcp_tw_reuse依赖它,且有助于 RTT 估算)
所有参数写入 /etc/sysctl.conf 后执行 sysctl -p 生效。生产环境修改前先备份原文件,并在低峰期验证效果。
相关文章
- 豆包AI问答在线入口-豆包DeepSeek模型入口 08-13
- php-fpm在ubuntu如何连接 08-13
- ubuntu如何修复php-fpm错误 08-13
- 红色沙漠无限剑气流玩法攻略 08-13
- php-fpm在ubuntu如何监控 08-13
- wcl中文官网入口在哪-魔兽世界wcl官网中文地址分享 08-13