BBR + fq on a single-core box: what actually changed
A single-core, 2 GB box in Los Angeles on cubic: single-stream downloads sat at 20–30 Mbps while multiple streams reached 200. The classic long fat pipe with loss.
Then BBR:
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
Single-stream throughput went from the low twenties to around eighty Mbps, and the evening peak got less erratic. CPU went from about 3% to 10% — fine on one core.
Upload barely moved; congestion control was not the bottleneck there. fq keeps a default quantum of 1514, and raising it on a small box adds latency rather than throughput. Watch cwnd in ss -ti: BBR opens the window far faster than cubic, which is why it wins bandwidth and why it is not polite to anything else on the machine.
Worth enabling, but confirm the bottleneck is congestion control. At 150 ms RTT with no loss, BBR buys very little.