环境:北京联通 9929 1G 宽带 ↔ 日本BestVM软银 1G 口 VPS
系统:Alpine
测试:Windows iperf3 对拉(多次重复验证)
现象对比
原先参数(高速度)
这里贴一下原先使用参数:
cat > /etc/sysctl.conf << EOFfs.file-max = 6815744net.ipv4.tcp_no_metrics_save=1net.ipv4.tcp_ecn=0net.ipv4.tcp_frto=0net.ipv4.tcp_mtu_probing=0net.ipv4.tcp_rfc1337=0net.ipv4.tcp_sack=1net.ipv4.tcp_fack=1net.ipv4.tcp_window_scaling=1net.ipv4.tcp_adv_win_scale=1net.ipv4.tcp_moderate_rcvbuf=1net.core.rmem_max=67108864net.core.wmem_max=67108864net.ipv4.tcp_rmem=4096 87380 67108864net.ipv4.tcp_wmem=4096 16384 67108864net.ipv4.udp_rmem_min=8192net.ipv4.udp_wmem_min=8192net.ipv4.ip_forward=1net.ipv4.conf.all.route_localnet=1net.ipv4.conf.all.forwarding=1net.ipv4.conf.default.forwarding=1net.core.default_qdisc=fqnet.ipv4.tcp_congestion_control=bbrnet.ipv6.conf.all.forwarding=1net.ipv6.conf.default.forwarding=1EOFsysctl -e -p /etc/sysctl.conf特点:整体能跑到接近千兆,但启动阶段爆重传,且偶发“断流/卡死”
- 速度:后半程稳定接近 940~960 Mbps
- 问题:前 1 秒 Retr 爆炸(上万级),有时触发 RTO 退避导致连续 0bits/sec,体验就是“有时候拉得动,有时候直接断”
现在参数(质量优先)
目标:速度可以慢一点,但要 稳定不断流 + 重传尽可能低
结果(多次测试一致):
- Retr:0
- 不再出现连续 0bits/sec 的断流/卡死
- 吞吐:稳定在 ~730–800 Mbps(牺牲峰值换稳定)
核心思路:
- 收敛发送缓冲上限(避免把启动突发放大)
- 适度 TSQ(tcp_limit_output_bytes)
- 开启 tcp_mtu_probing
- 不引入太“激进”的参数
最终参数
cat > /etc/sysctl.conf << EOFfs.file-max = 6815744net.ipv4.tcp_no_metrics_save=1net.ipv4.tcp_ecn=0net.ipv4.tcp_frto=0net.ipv4.tcp_mtu_probing=1net.ipv4.tcp_rfc1337=0net.ipv4.tcp_sack=1net.ipv4.tcp_fack=1net.ipv4.tcp_window_scaling=1net.ipv4.tcp_adv_win_scale=1net.ipv4.tcp_moderate_rcvbuf=1net.ipv4.tcp_limit_output_bytes=524288net.ipv4.tcp_slow_start_after_idle=0net.core.rmem_max=8388608net.core.wmem_max=8388608net.core.rmem_default=262144net.core.wmem_default=262144net.ipv4.tcp_rmem=4096 262144 8388608net.ipv4.tcp_wmem=4096 262144 8388608net.ipv4.udp_rmem_min=8192net.ipv4.udp_wmem_min=8192net.ipv4.ip_forward=1net.ipv4.conf.all.route_localnet=1net.ipv4.conf.all.forwarding=1net.ipv4.conf.default.forwarding=1net.core.default_qdisc=fqnet.ipv4.tcp_congestion_control=bbrnet.ipv6.conf.all.forwarding=1net.ipv6.conf.default.forwarding=1EOFsysctl -e -p /etc/sysctl.conf
评论 (0)