如何诊断CDN故障

赞助

如果你觉得我写得还行,并且愿意付费,那么我会更有动力写下去。

某项目使用CDN做文件下载服务,最近不时有网友反馈下载出错,因为CDN是第三方提供的,且节点众多,所以诊断起来有点麻烦,必须想想招儿。

首当其冲的问题是如何确认CDN有哪些节点?

幸运的是通过阿里测提供的服务,我们能拿到这个IP列表,当然这个IP列表不可能百分百完整,不过应该包含了大部分的节点,有兴趣的可以参考百度的JQuery CDN例子。

需要说明的是阿里测偏重于测试国内的网络环境,如果你要测试的CDN偏重于国外的网络环境,可以考虑使用Just-Ping提供的服务。

补充:类似的还有17CE提供的服务。

有了工具网站,再搭配AWK之类的神器,很容易就能整理出IP列表,把它保存成一个名为ip.txt的文件,每行一个IP,稍后使用。接下来我们只要在所有的节点上下载同一个文件,就可以验证问题了,不过串行下载太慢,这里给一个利用xargs并发下载的例子:

shell> cat ip.txt | xargs -n 1 -P 0 -I {} \
    wget -q -e http_proxy={} -O {} "http://url/to/file" &

最后看看文件散列是否一致就大功告成了:

shell> md5sum *

一旦知道了哪个节点有问题,可以利用淘宝IP地址库反查一下省市县地址是哪里,对照看看是否有临近地区的网友反馈,如果有的话,基本上就可以确诊了。

说明:例子中使用了百度提供的JQuery CDN,国内外常用的Javascript CDN如下:

平时多留意阿里测,Just-Ping,淘宝IP地址库这类工具网站,关键时候能帮你一把。

如何诊断CDN故障》上有1条评论

  1. 我们碰到的情况差不多,有几个地区得用户无法正常下载文件,md5也对不上,我们和用户远程协助,抓到得证据是运营商的植入广告所致

发表评论

电子邮件地址不会被公开。 必填项已用*标注