安装常用工具并确认权限:Debian/Ubuntu 执行 sudo apt update && sudo apt install -y iperf3 mtr traceroute curl ethtool sysstat fio tcpdump && sudo systemctl enable --now sysstat。确保有root或sudo权限,并记录两台测试主机(台湾VPS与对端)IP。
使用 ping 与 mtr 量化延迟与丢包:ping -c 20 <目标IP>;mtr -r -c 100 <目标IP> 保存报告。观察平均延迟、丢包率与跳数,记录基线数据用于对比。
在一台机器做 iperf3 server:iperf3 -s;另一台做 client:iperf3 -c
用 mtr 的实时模式查看路径不稳定:mtr -w <目标IP>,并结合 traceroute -n <目标IP> 定位哪一跳有高延迟或丢包。记录时间段以排除临时网络高峰。
用 fio 测试磁盘:fio --name=seqw --rw=write --bs=1m --size=1G --numjobs=1;用 top/iostat 查看CPU或IO等待(%wa)。若IO占用高,会影响网络吞吐,需优化IO或换更好磁盘。
编辑 /etc/sysctl.conf 增加并立即生效:net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.ipv4.tcp_rmem=4096 87380 16777216 net.ipv4.tcp_wmem=4096 87380 16777216 net.ipv4.tcp_congestion_control=bbr。执行 sudo sysctl -p 并用 lsmod | grep bbr 或 sysctl net.ipv4.tcp_congestion_control 验证。
根据网络链路尝试 MTU 调整:sudo ip link set dev eth0 mtu 1500(或 9000 试验),并用 ping -M do -s 1472 <目标> 测试分片。若出现延迟波动,使用 ethtool 关掉GSO/TSO/GRO:sudo ethtool -K eth0 gso off tso off gro off,测试后记录差异。
优化后重复第2、3步(ping/mtr/iperf3)对比基线。若效果变差,回滚 /etc/sysctl.conf 的改动并执行 sudo sysctl -p;恢复 ethtool 参数可重启网卡或保存脚本在启动时执行。
Q:在台湾机房选择VPS时,如何在延迟与稳定性之间权衡?
A:优先选KVM/裸金属与SSD,网卡与带宽上限较高的方案通常延迟更低且稳定;同时考虑邻近POP与骨干网络直连,测评时要求商家提供包含端到端ping或iperf数据。
Q:开启 BBR 后延迟一定会下降吗?
A:BBR 主要提升吞吐并减缓队列膨胀,对高带宽长延迟链路有明显收益,但对短程低延迟链路效果有限;需结合 rmem/wmem 调整与应用层并发进行测试。
Q:在没有太多时间的情况下,优化步骤应按什么顺序执行?
A:建议顺序为:1) 基线测量(ping/mtr/iperf3);2) 调整内核缓冲与启用BBR;3) 调整MTU与网卡卸载特性;4) 优化应用并发/连接重用;每步后都要复测并保存配置以便回滚。