V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
V2EX  ›  宽带症候群

关于网络延迟,随便说几句

  Livid · 2015-01-28 23:25:59 +08:00 · 23154 次点击
这是一个创建于 3611 天前的主题,其中的信息可能已经有所发展或是发生改变。

看到有些同学一直在折腾各种不同的 VPS,希望能够获得比较好的速度。但我个人觉得这样的折腾其实是无法改变国际网络的“物理现状”的。最近几年一直在国际网络相关的行业工作,所以稍微分享一些个人的所知和想法:

  • 网络体验的好坏,丢包比延迟的影响更大
  • 中美之间是必然会丢包的,只是丢多少而已,丢 90% 也不奇怪
  • 网络和跨海大桥是一样的道理,桥就那么宽,车多了必然就堵
  • 堵车的时候,距离(延迟)再短,你也还是过不去

如果你希望对中国的国际网络出口的性能有一个更清楚的认识,我推荐你可以做一个这样的实验:

然后配置 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。

用这样的方式收集一个星期甚至更久的数据,然后你在做任何折腾的时候,就可以有更多的数据支撑让你做更好的决定了。

Ping Example

40 条回复    2017-01-20 18:39:49 +08:00
nptwz
    1
nptwz  
   2015-01-28 23:30:25 +08:00
mark
so898
    2
so898  
   2015-01-28 23:31:08 +08:00
一个是墙,一个是国际带宽
两个大问题不都解决总不会好的……
msxcms
    3
msxcms  
   2015-01-28 23:32:07 +08:00
其实都是玄学,线路稳定性有的时候几个月非常稳定,有的几个月天天丢包
lex
    4
lex  
   2015-01-28 23:33:47 +08:00
也可以用我的 Ansible 配置秒装 Uptime:
https://github.com/lexrus/ios-dev-playbook
hjc4869
    5
hjc4869  
   2015-01-28 23:34:01 +08:00
hk保平安……
lsylsy2
    6
lsylsy2  
   2015-01-28 23:35:11 +08:00
感谢,packetloss这个插件正需要
Livid
    7
Livid  
MOD
OP
   2015-01-28 23:40:04 +08:00
@lex 感谢分享。这个不错,一个可以跑在自己机器上的 Pingdom:

http://www.redotheweb.com/uptime/
kiritoalex
    8
kiritoalex  
   2015-01-28 23:55:10 +08:00 via Android
没有interference的话我相信丢包率不会这么高
Showfom
    9
Showfom  
   2015-01-29 00:04:31 +08:00 via iPhone
不错 我去做个测试
Livid
    10
Livid  
MOD
OP
   2015-01-29 00:05:18 +08:00
@Showfom 嗯,这事尤其适合有很多机器的人做。
thinkxen
    11
thinkxen  
   2015-01-29 00:08:25 +08:00 via Android
@hjc4869 香港好太多了
geeklian
    12
geeklian  
   2015-01-29 00:13:07 +08:00 via iPad
smokeping同样能完成,还更simple,munin太大。

我跑了两个月,得出帝都联通用vultrjp不如dosgp的结论。
Showfom
    13
Showfom  
   2015-01-29 00:13:27 +08:00 via iPhone
@Livid 嗯 但是国内机器多成本太大了 只能考虑主要的几个节点了
efi
    14
efi  
   2015-01-29 03:44:40 +08:00
一个人几台机器做网络测量,都是盲人摸象观众窥豹。

决定网络质量的根本原因是ISP之间的服务协议、peering/transit协议和实时的网络维护细节,同一个机房可以配置出优化线路,相邻的IP地址都可以产生巨大的性能差异。这些都是网络测量很难推断出的原因,而且这些还在不断变化。

一些基本原理比如一分钱一分货还是成立的,比如国际精品网跟asia optimized networks,如果只有一台机器再怎么测都是安慰剂。
lsylsy2
    15
lsylsy2  
   2015-01-29 04:03:38 +08:00
@efi 蛋疼的是现在很多“asia optimized networks”都已经烂掉了……我就记得前几天测试了高峰期,KT新加坡和QuadraNet的亚洲优化都烂成……
efi
    16
efi  
   2015-01-29 05:09:19 +08:00
@lsylsy2 call support
lsylsy2
    17
lsylsy2  
   2015-01-29 05:55:04 +08:00 via Android
@efi 我去问问好了。。。
另外,你有线路质量不错的推荐么,能做到点对点高峰期10M带宽下丢包率很低就可以
20150517
    18
20150517  
   2015-01-29 06:44:11 +08:00 via Android
现在欧洲连大陆线路比美国连大陆快了,主要还是人多人少
efi
    19
efi  
   2015-01-29 07:00:00 +08:00
@lsylsy2 线路质量都是手动调出来的。跟support说,然后诊断看哪里烂,然后看能不能调。最后也许是国内的问题。这个一直在变,所谓推荐都是安慰剂。
kn007
    20
kn007  
   2015-01-29 07:13:08 +08:00
有些追求是没办法的
pfitseng
    21
pfitseng  
   2015-01-29 08:08:07 +08:00 via iPhone
我还以为说要肉翻,楼主的方法也不适合于国情。说到底,解决的不是问题,是人。
halczy
    22
halczy  
   2015-01-29 09:11:31 +08:00 via iPhone
@lsylsy2 如果要速度又不想折腾,建议买一个大型VPN服务商(50+服务器)的账号。自从最近几个月电信网络“故障”以来,大概95%的时候都可以找到一条可以满速的线路。电信能满速的线路变的很快,例如最近能跑满速是电信--XO美国--XO新加坡--TW Telecom美国这种偏门线路,延迟是400ms,但是晚上11点也能跑满。在这之前,电信->爱尔兰可以满速,可是最近变回2Mbps。
invite
    23
invite  
   2015-01-29 09:11:31 +08:00
测试环境不对,就一台家里的电脑,就算出问题了,也无法说明问题所在。
azuis
    24
azuis  
   2015-01-29 09:49:09 +08:00 via Android
@so898 前面那个没什么办法,但是后面那个是有办法解决的...就是钱的问题..
gandalfwong
    25
gandalfwong  
   2015-01-29 09:49:44 +08:00   ❤️ 2
结果已经是其次,享受过程折腾最重要。
crystone
    26
crystone  
   2015-01-29 09:58:54 +08:00
前几天sf的vps很慢,ssh都卡,现在好多了 vpn也畅快
imn1
    27
imn1  
   2015-01-29 09:59:10 +08:00
从没想过改变物理现状,只是想改变非物理现状
其实想改变物理现状的人是都是去投诉的那些,而不是自己闭门折腾
道路堵塞无力改变,但我用代收点(或者自提)只是想改善我和快递员之间的联系,因为有可能是快递员有路盲症或拖延症,至于正常的快递员或自己去自提时有没有塞在路上,那是没有办法的事,难道我开飞机去接送他么?
其实那些搞全局的人就是在开飞机去自提,为的是不使用道路,不使用快递员~

不是吐嘈LZ,只是恨自己没钱买飞机,或者不是住在货源地附近
Livid
    28
Livid  
MOD
OP
   2015-01-29 11:41:22 +08:00
@efi
@invite

这个帖子的要点,只是想分享一种测量方法,让那些经常要购买 VPS 用于自用的同学,多一些数据支撑。
signal
    29
signal  
   2015-01-29 12:32:27 +08:00
是在这个帖子里面更新结果吗?
xierch
    30
xierch  
   2015-01-29 13:11:42 +08:00
同样用的 smokeping..
它的特色是.. 会把每次测试的丢包率和偏差,通过颜色和 "smoke" 同时表示在一张图里,
每张图的信息量比较大..

leopard080264
    31
leopard080264  
   2015-01-29 19:41:08 +08:00   ❤️ 3
@Livid
@efi
从v2ex大多数人使用宽带所关注的三个因素说说,延时,带宽,路由线路。
先说电信,163网 ,北京国际出口还算正常,上海广州某些线路(北美)不明原因丢包及其严重,但163骨干的由于POP点数量,路由优化问题(比如说亚太延时很高),使用人数,定位目标等众多原因,肯定达不到v2ex满意程度(比如ss跑不满宽带的签约值),10000号客服基本都是小白,投诉也无用,大多v2ex网友所在地区的公众电信宽带只能接入163网,即使ping一星期全是最低延时,也不能保证下一个星期的延时和带宽。任何vps都不能保障使用质量。
再说说电信的CN2,CN2基本不太可能出现丢包,美西POP延时在120-130ms,美东POP在190-200ms,目前的话除了level3外,其它所有国际线路都能跑满物理带宽,另外he的ipv6隧道使用也非常稳定,亚太路由优化也很好,比如新加坡的ISP和电信都有互联,延时常年68-70ms,香港常年30ms,但好像除了上海电信以国经精品网名义推出给公众客户外,其余省市鲜有耳闻。也有路由的频繁调整,但是使用质量十分稳定,只要不走level3的,什么vps都是一样的,选亚太,还是北美,还是欧洲(甚至乌克兰,俄罗斯)都是个人喜好问题。眼都挑花了,都一样,早上能跑200M,晚上8点照样能跑200M。
联通169基本和163类似,联通还有张CNCNet,和电信CN2同样定位,大客户高品质,还是那句话,有能力接入CNCNet绝不接入169。
soulteary
    32
soulteary  
   2015-01-30 00:03:47 +08:00   ❤️ 1
@Livid 如果VPS的用途不是打洞,而是提供WEB服务更好的访问质量的话,其实可以用一种更好的方式来提供数据支持 = =

诸如在流量比较大的论坛/网站使用img ping来收集用户请求,稍稍做一些修剪(cache/每日限流3次/数据消峰),然后呈现出来。似乎很早的时候,还在v2和人争论的时候,摆出了一张图...(已删除掉)
kkxh
    33
kkxh  
   2015-01-30 10:30:36 +08:00
“丢包比延迟更重要”,不能赞同的更多。
Actrace
    34
Actrace  
   2015-01-30 17:55:36 +08:00
电信ADSL铜缆基本不用玩了。。。城域网都有问题。。。
amdme
    35
amdme  
   2015-01-31 02:11:07 +08:00 via Android
@efi 我很赞同
其实拿VPS商提供的测速点来测并不靠谱,就好比DO新加坡,这两天白天用电信测我自己主机丢包50%,测DO提供的新加坡测速点,竟然一点丢包都没有。。整个人瞬间有种被坑了的感觉
mtglichking
    36
mtglichking  
   2015-02-04 10:58:39 +08:00 via iPhone
@leopard080264 不知普通用户有没有可能接入 CNCNET?
firebet
    37
firebet  
   2015-02-05 09:47:52 +08:00
准备一打服务器,哪个快用哪个、、、
kxmp
    38
kxmp  
   2015-03-26 20:42:35 +08:00
只是电信太坑人.别的电信走海缆0丢包的也有
不过测丢包率还是用专业工具好,专业的可以测每秒的丢包情况,用不着白天到万的慢慢ping
webjin
    39
webjin  
   2015-08-12 23:22:48 +08:00
@xierch 现在网上 smokeping 安装教程就是大坑。求教程
cattail
    40
cattail  
   2017-01-20 18:39:49 +08:00
使用 Docker 可以快速安装 munin https://hub.docker.com/r/buildfailure/munin-server/
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5338 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 07:12 · PVG 15:12 · LAX 23:12 · JFK 02:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.