服务器网络带宽测试与优化:iperf3实测+BBR拥塞控制配置教程
服务商标注的带宽,和实际带宽往往不一样
服务商承诺的”30M CN2 带宽”,实际跑出来是多少?线路质量如何?延迟抖动怎么样?这些都需要实测来验证。同时,通过开启 BBR 拥塞控制算法,可以显著提升弱网环境下的 TCP 传输效率,让带宽资源得到更充分的利用。
一、用 speedtest-cli 测试带宽
# 安装 speedtest-cli
sudo apt install speedtest-cli -y
# 或用官方版本(更准确)
pip install speedtest-cli --break-system-packages
# 运行测试(自动选择最近节点)
speedtest-cli
# 指定测试节点(选择国内节点测试回国速度)
speedtest-cli --list | grep -i china # 列出中国节点
speedtest-cli --server 节点ID # 指定节点测试
# 只输出关键数据
speedtest-cli --simple二、用 iperf3 测试两台服务器之间的实际带宽
speedtest 测试的是到公共节点的带宽,iperf3 可以测试你自己控制的两台服务器之间的实际传输速度,结果更接近业务真实场景。
# 两台服务器都安装 iperf3
sudo apt install iperf3 -y在服务端(接收方)启动:
# 服务端模式,监听 5201 端口
iperf3 -s
# 后台运行
iperf3 -s -D在客户端(发送方)执行测试:
# 基础带宽测试(默认 10 秒)
iperf3 -c 服务端IP
# 测试 30 秒,更稳定的平均值
iperf3 -c 服务端IP -t 30
# 测试反向带宽(服务端 → 客户端,即下载速度)
iperf3 -c 服务端IP -R
# 多并发流测试(模拟真实多用户场景)
iperf3 -c 服务端IP -P 4
# 测试 UDP 带宽和丢包率
iperf3 -c 服务端IP -u -b 100Miperf3 输出中重点关注:
Bandwidth:实际传输速率Retr:TCP 重传次数(越低越好,代表线路质量)Lost/Total:UDP 模式下的丢包率
三、持续监控延迟和丢包
# mtr:traceroute + ping 的结合,实时显示每跳延迟和丢包
sudo apt install mtr -y
# 测试到目标 IP 的路由质量(运行 100 个包)
mtr --report --report-cycles 100 目标IP
# 持续显示(交互模式)
mtr 目标IPmtr 输出中,Loss% 列显示丢包率,Avg 显示平均延迟。如果某一跳之后丢包率突然升高,说明问题出在那一跳的网络设备上。
四、开启 BBR 拥塞控制算法
BBR(Bottleneck Bandwidth and Round-trip propagation time)是 Google 开发的 TCP 拥塞控制算法,相比传统的 CUBIC 算法,在有一定丢包的网络环境下(比如跨太平洋链路),BBR 能更充分地利用带宽,提升传输速度 20%–300%。
检查内核版本是否支持 BBR
# BBR 需要 Linux 内核 4.9 以上
uname -r
# 检查是否已加载 BBR 模块
lsmod | grep bbr开启 BBR
sudo nano /etc/sysctl.conf在文件末尾添加:
# 启用 BBR 拥塞控制
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr# 立即应用(无需重启)
sudo sysctl -p
# 验证 BBR 已启用
sysctl net.ipv4.tcp_congestion_control
# 输出应为:net.ipv4.tcp_congestion_control = bbr
lsmod | grep bbr
# 应看到 tcp_bbr 模块五、其他网络优化参数
sudo nano /etc/sysctl.conf# 增大 TCP 缓冲区(适合高带宽高延迟链路)
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
# 开启 TCP Fast Open(减少握手延迟)
net.ipv4.tcp_fastopen = 3
# 增大连接队列(高并发场景)
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535sudo sysctl -p总结
服务器网络优化的完整步骤:用 speedtest-cli 和 iperf3 测试实际带宽 → 用 mtr 分析路由质量和丢包 → 开启 BBR 拥塞控制提升弱网传输效率 → 调整 TCP 缓冲区参数。BBR 的开启几乎没有负面影响,是所有服务器都应该做的基础优化操作。
带宽测试不理想?IDC.Net 香港 CN2 GIA 服务器线路标注真实透明,支持 12 小时试用验证实际带宽,月付 299 元起,支持支付宝 / USDT 付款,免 KYC 实名。