原文地址:https://blog.jing.do/2319
由于众所周知的原因
一直在用cloudflare的付费版,效果还是非常不错的,所以把很多站都移到了cloudflare上面,免费版会有一些问题,但是能用他的DDOS安全防护也是不错的选择。
但是cloudflare和其他CDN一样,有个致命的问题就是国内的访问速度特别慢。这也没办法,国内没有备案和执照是没办法放服务器的,很多政策的限制导致了CDN都是绕着中国跑,连微软的azure在中国都是一个阉割版和别人合作。研究了一番在他们官方上有这么一个说辞。
Cloudflare现已推出了中国大陆地区的服务,帮助所有企业改善他们的互联网应用的性能及安全, 扩展其全球业务。Cloudflare 和百度的合作将百度大陆的22个中心地区节点与 Cloudflare 全球的86个节点结合起来,实现了真正的资源优化整合。
Cloudflare 不提供中文服务, 中国客户应该使用百度云加速。 百度云加速是第一个在中国和海外为网络性能提供加速,安全和智能服务的中文服务。 云加速提供与 Cloudflare同样的功能 (CDN、 DNS、 DDOS、 Web安全防护等), 并且专门为中国网络和市场需求进行了优化。
如果您希望改善您的中国网站、移动端应用、以及互联网应用程序的性能和安全, 请访链接
(cloudflare和百度云合作在中国的服务器节点)
在深入研究,他们专门写了一篇官方的博客,介绍百度云和中国的节点,也总结了情况。
您应该选择 Cloudflare如果:
您在海外有相当规模的用户访问量
您希望服务商提供英文支持 (产品和客服)
您不具有ICP备案
您需要HTTPS支持
如果您符合以下条件,那么您应该选择使用云加速:
您的访问者主要来自中国
您希望服务商提供中文支持
您已有网站备案 (ICP)
您的域名只需要 HTTP (不需要HTTPS)
这个就有问题了,看上去官方说明使用cloudflare是不提供国内节点的,如果想用国内节点,必须使用百度云。那如果是用了百度云,是否还能享受海外cloudflare的CDN节点呢?
带着疑问,我拿了一个站点进行了三轮测试,分别是只用cloudflare,只用百度云,和裸跑。这次只是随便测下,并非严格意义上的测试,所以仅供大家参考,大家有兴趣可以深入去测试下。
虽然不是严格测试,为了让测试更加准确,我们每次变更NS的时候,都等待48小时并且在都放在美东的下午,国内的半夜进行测试,一来域名数据完全同步,二来给CDN系统足够的时间缓存网站数据(这个未经证实),三来避免带宽的影响干扰。
以下是测试情况
用于测试的站点情况如下:
CMS新闻站,大量图片和文字
独立服务器在加州,数据库AWS RDS也在加州
图片采用了s3 + cloudfront的策略,由于百度云没有找到关闭单一子域名加速的选项,公平起见,所以在百度云和cloudflare我都打开了加速,也就是说在cloudfront上又套了个CDN,理论上应该没问题,不知道实际会怎么样。
全站在服务器链接
测试使用的工具:
国内情况:17ce
全球节点速度测试:dotcom-monitor
测试美东和香港节点:webpagetest
NS记录确认工具:whatsmydns
第一轮:百度云
全球节点测试结果(图1.1),平均下来,第一次访问6.4s,第二次访问6s,国内两个节点北京和上海速度为6.3s和6.5s,其中北京第二次访问用了50s,多次尝试之后发现是个意外。
单节点测试香港和美东VA(图1.2、图1.3),分别是4.05s和3.46s,由于都在海外所以这个数据只能说明海外节点正常。
国内测试,大致10kb-15kb/s的速度。(图1.4)
关链接
(图1.1)
(图1.2)
(图1.3)
(图1.4)
第二轮:cloudflare
全球节点测试结果(图2.1),平均下来,第一次访问9.9s,第二次访问6.2s,国内两个节点上海挺正常,但是北京又抽风了。
单节点测试香港和美东VA(图2.2、图2.3),分别是3.6s和4.6s,非常正常的数据。
国内测试,大致10kb-15kb/s的速度。(图2.4)
(图2.1)
(图2.3)
(图2.2)
(图2.4)
第三轮:裸跑
全球节点测试结果(图3.1),11.7/7.5,比较正常,但是北京测了几次都连不上,上海连上了速度很不错。
单节点测试香港和美东VA(图3.2、图3.3),一个4.9s一个5.2s,变化不大。
国内测试速度,直连的速度依旧是最好的,达到50左右。(图3.4)
(图3.1)
(图3.2)
(图3.3)
(图3.4)
由于还是不放心,我又做了第二轮测试,用于测试的站点情况如下:
自己的博客,主要是文字,少量图片
第一轮:百度云
测试失败。由于.do域名的特殊情况。原因私聊
全球节点测试结果(图5.1),平均速度有所下降(出乎意料),但是国内速度大幅度提升了,上海6.4/5.5,北京47.8/4.4,很明显第一次卡了下。
单节点测试香港和美东VA(图5.2、图5.3),一个5.5s一个7.8s,变化不大。不过proformance评分上去了,除了FBT是由于服务器的问题,其他得到了改善(图5.4)
国内测试速度上并没太大的改善,而且美国这边的速度降下来了。不过和防护来说,这点降速并算不上什么。
(图5.1)
(图5.2)
(图5.3)
(图5.4)
(图5.5)
第三轮:裸跑
全球节点测试结果(图6.1),平均时间是12.7,第二次访问为6.8。说明JS和CSS缓存之后速度有所提升,北京的速度是42.8s,第一次测试的时候上海的服务器坏了,所以又补测了几次,差不多国内都要20s以上,而且极其不稳定。
单节点测试香港和美东VA(图6.2、图6.3),一个6.3s一个9.6s,非常神奇的竟然还是香港快。不过给的proformance的评分基本都是F(图6.4)
国内测试大约在30-60k/s,美国这边测出来最快达到了1M/s,还是非常不错的。(图6.5)
(图6.1)
(图6.2)
(图6.3)
(图6.4)
(图6.5)
第四轮:cloudflare收费版
没错你没看错,补偿下百度云测试的失败,我买了收费版来测试。结果如下:
全球节点测试结果(图7.1),平均时间是6.1,第二次访问为3.6。这下完全正常了,上海和北京甚至超过了平均速度。看样子收费版还是不一样!测试了几次都没出现无法连接的情况,说明稳定性也提高了。
单节点测试香港和美东VA(图7.2、图7.3),一个13.2s一个11.3s,额。。。为什么这么慢?看了下waterfall,好像卡在服务器排队上,有将近7秒。(图7.4)
国内测试大约在30-60k/s,没什么变化,感觉这个数据没啥用,不提了(图7.5)
(图7.1)
(图7.2)
(图7.3)
(图7.4)
(图7.5)
总结:
从测试结果来看,cloudflare和百度的国内节点是共享的,因为他们最终出现的结果非常类似。而且!!他们的海外节点貌似也是共享的。像我这样的海外站点要兼顾国内和海外的,上他们是必须的,而且收费版和免费版差距也是巨大的。特别在稳定性上。
从速度来说,未加CDN>普通收费版>免费版。但是网站不是单单从速度去考量的,建议所有网站都加上CDN,他带来的安全防护以及其他周边远远大于不加。看上去百度云和cloudflare区别并不是很大,所以还是建议使用cloudflare, 毕竟是老牌大公司。
(另外发现个神奇的现象,香港和美东连接美西那边的服务器,竟然还是香港快。)
当然有条件的强烈建议上收费版,免费版不仅老抽风,而且还有比较多的问题,自己就碰到好几个,写在注意点里面了。欢迎大家补充和指点。
有几个注意点:
cloudflare的免费版出现了一些奇怪的现象,现在发现的有:部分url的内容无法用curl读取,lightbox的JQuery失效,暂时没有找到原因,不过我怀疑是链接
百度云和cloudflare的系统是互通的, 你在任意一个地方增加了域名(无论是NS还是CName)都会导致另一边deactive。