一、内核 / TCP 协议层优化
- 启用 BBR 拥塞控制算法 抛弃传统 TCP "丢包就减速" 的逻辑,通过测量最大带宽 + 最小 RTT 算出 BDP(网络管道容量),直接把数据填满管道,不排队、不轻易减速,长距离大文件传输速度翻倍。
- 调大 TCP 滑动窗口 + 缓冲区增大收发缓冲区(tcp_wmem/tcp_rmem)+ 开启窗口缩放,让窗口大小匹配 BDP,避免 "发一点数据就停着等 ACK",充分利用带宽。
- **优化 TCP 超时重传(RTO)**合理调整 RTO 参数,减少无效等待,丢包后更快重传,同时避免频繁误重传。
二、应用层优化(程序员可直接控制)
- **使用零拷贝(sendfile)**文件数据直接从内核缓存发送到网卡,跳过 "用户态↔内核态" 的数据拷贝,降低 CPU 消耗,提升传输吞吐量。
- 多连接并发分块上传 把大文件切分成多块,通过多个 TCP 连接同时上传,突破单连接带宽限制,快速占满总带宽。