看到有些同学一直在折腾各种不同的 VPS,希望能够获得比较好的速度。但我个人觉得这样的折腾其实是无法改变国际网络的“物理现状”的。最近几年一直在国际网络相关的行业工作,所以稍微分享一些个人的所知和想法:
- 网络体验的好坏,丢包比延迟的影响更大
- 中美之间是必然会丢包的,只是丢多少而已,丢 90% 也不奇怪
- 网络和跨海大桥是一样的道理,桥就那么宽,车多了必然就堵
- 堵车的时候,距离(延迟)再短,你也还是过不去
如果你希望对中国的国际网络出口的性能有一个更清楚的认识,我推荐你可以做一个这样的实验:
- 准备好把你家里的电脑开一个星期
- 启动一台模版为
ubuntu/trusty64的 Vagrant 虚拟机 https://vagrantcloud.com/ubuntu/boxes/trusty64 - 在里面安装 Munin:
apt-get install -y munin munin-node
然后配置 Munin 自带的 ping 插件,去 ping 你想折腾的那些 VPS 提供的测速点,比如 Linode 的东京点和 DigitalOcean 的 SFO 点:
ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_speedtest.tokyo.linode.com
ln -s /usr/share/munin/plugins/ping_ /etc/munin/plugins/ping_speedtest-sfo1.digitalocean.com
/etc/init.d/munin-node restart
除了 ping 之外,再给 Munin 装上这个 packetloss 插件:
apt-get install -y dos2unix
cd /usr/share/munin/plugins
curl -o packetloss_ http://munin-monitoring.org/export/ddc595889f8d61a865df2d7f5486ecb5e14a098f/munin-contrib/plugins/network/packetloss
dos2unix packetloss_
chmod +x packetloss_
ln -s /usr/share/munin/plugins/packetloss_ /etc/munin/plugins/packetloss_speedtest.tokyo.linode.com
ln -s /usr/share/munin/plugins/packetloss_ /etc/munin/plugins/packetloss_speedtest-sfo1.digitalocean.com
/etc/init.d/munin-node restart
你可以用以上提供的方法去探测多个 VPS 或者云服务提供商的 ping 延迟及 packet loss。
用这样的方式收集一个星期甚至更久的数据,然后你在做任何折腾的时候,就可以有更多的数据支撑让你做更好的决定了。

