byun.pro

BBR 和 fq:一台小 VPS 上的吞吐对比

2026-10-27 · Linux · 调优

新开的机器默认是 cubic 拥塞控制和 fq_codel 队列。对延迟一两百毫秒、偶有丢包的长链路,cubic 一遇丢包就把窗口砍半,单连接很难跑满。

改动

net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_rmem = 4096 131072 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432

改完记得 tc qdisc replace dev eth0 root fq,否则已有网卡的队列不会自动换。

结果

目标cubicbbr
东京8.7 MB/s26.5 MB/s
洛杉矶15.4 MB/s34.9 MB/s
弗吉尼亚10.7 MB/s12.9 MB/s

都是单连接 curl 下 100 MB 文件,各跑三次取中间值。弗吉尼亚提升不明显,瓶颈大概在对端。

别忘了

连接多的机器还要看 somaxconn、tcp_max_syn_backlog 和文件句柄上限,另见 conntrack 那篇。