骚操作

CDN实战:访问苹果开发者网站太慢、访问github太慢

2019-12-12  本文已影响0人  康小曹

本文讲述两个常用的加速场景来加深对 CDN 的理解,另外还有出一篇文章:什么是CDN,敬请期待。

一、加速 apple developer

某天,实在受不了乔老爷子家的官网的速度了,于是乎 ping 了一下乔老爷子家官网的地址:

caoxkdeMacBook-Pro:~ caoxk$ ping developer.apple.com
PING developer.apple.com (17.253.75.201): 56 data bytes
64 bytes from 17.253.75.201: icmp_seq=0 ttl=50 time=135.182 ms
64 bytes from 17.253.75.201: icmp_seq=1 ttl=50 time=131.883 ms
Request timeout for icmp_seq 2
64 bytes from 17.253.75.201: icmp_seq=3 ttl=50 time=131.618 ms
64 bytes from 17.253.75.201: icmp_seq=4 ttl=50 time=131.948 ms
64 bytes from 17.253.75.201: icmp_seq=5 ttl=50 time=132.753 ms
^C
--- developer.apple.com ping statistics ---

可以看到,DNS 解析出来的地址是17.253.75.201,于是乎百度查一下 ip,WTF,居然是日本的 IP 地址:


apple-cdn

这不慢才是奇了怪了,于是想到,apple 不是一直在推进自家的 CDN 服务吗,于是乎去看看有没有离我们大陆近的 CDN 服务器,结果是让人欣喜的:


apple-cdn

从图上可以看到,苹果还是很给力的,有这么多 cdn 节点,可以说是遍布全球啊(可是好奇的是为什么日本的那么多),于是乎选了一个香港的:


apple-cdn

因为 DNS 解析的步骤是:


DNS缓存顺序

浏览器的咱就不要去瞎搞了,那就修改本机的 DNS 缓存吧,方法是修改本机 hosts 文件:

sudo vim  /etc/hosts

在最后添加:

17.253.85.207 developer.apple.com
17.253.85.207 devstreaming-cdn.apple.com

最后一行是用于加速 apple 网站中的一些流媒体数据。修改完成后再次 ping 一下 apple 官网:


apple-cdn

从图上看出来, 本地 DNS 缓存修改成功了,而且 time 缩小到了美滋滋的地步,此时再次打开 apple develop 官网,果然,非一般的感觉...

二、加速github

某一时间,打开 github ,发现响应特别慢,网页根本打不开,尝试 ping github.com,结果如下:

caoxkdeMacBook-Pro:~ caoxk$ ping github.com
PING github.com (13.250.177.223): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
^C
--- github.com ping statistics ---

从上面可以看出来,直接访问 github.com 时,DNS 解析出来的 ip 地址是13.250.177.223。于是乎尝试在 站长网站 查看 github 是否存在 CDN,结果如图所示:

github-cdn

从图上可知,有16个 CDN 节点,但是大部分是超时,选了一个美国的不超时的节点:


github-cdn

于是重新 ping 该地址:

caoxkdeMacBook-Pro:~ caoxk$ ping 192.30.253.112
PING 192.30.253.112 (192.30.253.112): 56 data bytes
64 bytes from 192.30.253.112: icmp_seq=0 ttl=47 time=382.740 ms
64 bytes from 192.30.253.112: icmp_seq=1 ttl=47 time=299.244 ms
64 bytes from 192.30.253.112: icmp_seq=2 ttl=47 time=317.010 ms
64 bytes from 192.30.253.112: icmp_seq=3 ttl=47 time=339.758 ms
ç64 bytes from 192.30.253.112: icmp_seq=4 ttl=47 time=362.185 ms
^C
--- 192.30.253.112 ping statistics ---

虽然延迟也比较高,但是好歹可以用啊,于是乎修改本机 hosts 文件:

sudo vim /etc/hosts

在最后添加:

192.30.253.112 github.com

保存后重新打开 github,哦了,可以访问了(虽然速度不是很快),此时再次 ping github.com 的结果如下:

caoxkdeMacBook-Pro:~ caoxk$ ping github.com
PING github.com (192.30.253.112): 56 data bytes
64 bytes from 192.30.253.112: icmp_seq=0 ttl=47 time=301.476 ms
64 bytes from 192.30.253.112: icmp_seq=1 ttl=47 time=287.027 ms
64 bytes from 192.30.253.112: icmp_seq=2 ttl=47 time=278.639 ms
64 bytes from 192.30.253.112: icmp_seq=3 ttl=47 time=286.004 ms
64 bytes from 192.30.253.112: icmp_seq=4 ttl=47 time=381.322 ms
64 bytes from 192.30.253.112: icmp_seq=5 ttl=47 time=308.460 ms
^C
--- github.com ping statistics ---

可以看到,本机 DNS 已经将 github.com 解析成了我们在 hosts 中添加的地址。

欢迎关注
上一篇下一篇

猜你喜欢

热点阅读