cloudflare与百度云CDN使用对比

由于众所周知的原因

一直在用cloudflare的付费版,效果还是非常不错的,所以把很多站都移到了cloudflare上面,免费版会有一些问题,但是能用他的DDOS安全防护也是不错的选择。

但是cloudflare和其他CDN一样,有个致命的问题就是国内的访问速度特别慢。这也没办法,国内没有备案和执照是没办法放服务器的,很多政策的限制导致了CDN都是绕着中国跑,连微软的azure在中国都是一个阉割版和别人合作。研究了一番在他们官方上有这么一个说辞。

Cloudflare 现已推出了中国大陆地区的服务,帮助所有企业改善他们的互联网应用的性能及安全, 扩展其全球业务。Cloudflare 和百度的合作将百度大陆的22个中心地区节点与 Cloudflare 全球的86个节点结合起来,实现了真正的资源优化整合。

Cloudflare 不提供中文服务, 中国客户应该使用百度云加速。 百度云加速是第一个在中国和海外为网络性能提供加速,安全和智能服务的中文服务。 云加速提供与 Cloudflare同样的功能 (CDN、 DNS、 DDOS、 Web安全防护等), 并且专门为中国网络和市场需求进行了优化。

如果您希望改善您的中国网站、移动端应用、以及互联网应用程序的性能和安全, 请访问http://su.baidu.com/注册您的账户。

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(cloudflare和百度云合作在中国的服务器节点)

在深入研究,他们专门写了一篇官方的博客,介绍百度云和中国的节点,也总结了情况。

您应该选择 Cloudflare如果:

您在海外有相当规模的用户访问量
您希望服务商提供英文支持 (产品和客服)
您不具有ICP备案
您需要HTTPS支持

如果您符合以下条件,那么您应该选择使用云加速:

您的访问者主要来自中国
您希望服务商提供中文支持
您已有网站备案 (ICP)
您的域名只需要 HTTP (不需要 HTTPS)

这个就有问题了,看上去官方说明使用cloudflare是不提供国内节点的,如果想用国内节点,必须使用百度云。那如果是用了百度云,是否还能享受海外cloudflare的CDN节点呢?

带着疑问,我拿了一个站点进行了三轮测试,分别是只用cloudflare,只用百度云,和裸跑。这次只是随便测下,并非严格意义上的测试,所以仅供大家参考,大家有兴趣可以深入去测试下。

虽然不是严格测试,为了让测试更加准确,我们每次变更NS的时候,都等待48小时并且在都放在美东的下午,国内的半夜进行测试,一来域名数据完全同步,二来给CDN系统足够的时间缓存网站数据(这个未经证实),三来避免带宽的影响干扰。

以下是测试情况

用于测试的站点情况如下:

  • CMS新闻站,大量图片和文字
  • 独立服务器在加州,数据库AWS RDS也在加州
  • 图片采用了s3 + cloudfront的策略,由于百度云没有找到关闭单一子域名加速的选项,公平起见,所以在百度云和cloudflare我都打开了加速,也就是说在cloudfront上又套了个CDN,理论上应该没问题,不知道实际会怎么样。
  • 全站在服务器上https

测试使用的工具:

  • 国内情况: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)
  • 关于https,不是很明白具体的,我自身服务器自带https,百度云据说不带,但是没有提示证书过期。可能是因为cloudflare的证书还有效的原因?

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图1.1) cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图1.2) cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图1.3)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图1.4)

第二轮:cloudflare

  • 全球节点测试结果(图2.1),平均下来,第一次访问9.9s,第二次访问6.2s,国内两个节点上海挺正常,但是北京又抽风了。
  • 单节点测试香港和美东VA(图2.2、图2.3),分别是3.6s和4.6s,非常正常的数据。
  • 国内测试,大致10kb-15kb/s的速度。(图2.4)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图2.1)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图2.3) cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图2.2)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图2.4)

第三轮:裸跑

  • 全球节点测试结果(图3.1),11.7/7.5,比较正常,但是北京测了几次都连不上,上海连上了速度很不错。
  • 单节点测试香港和美东VA(图3.2、图3.3),一个4.9s一个5.2s,变化不大。
  • 国内测试速度,直连的速度依旧是最好的,达到50左右。(图3.4)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图3.1)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图3.2) cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图3.3)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图3.4)

由于还是不放心,我又做了第二轮测试,用于测试的站点情况如下:

  • 自己的博客,主要是文字,少量图片
  • 独立服务器在加州,数据库AWS RDS也在加州
  • 全站在服务器上https

第一轮:百度云

测试失败。由于.do域名的特殊情况。原因私聊

第二轮:cloudflare

  • 全球节点测试结果(图5.1),平均速度有所下降(出乎意料),但是国内速度大幅度提升了,上海6.4/5.5,北京47.8/4.4,很明显第一次卡了下。
  • 单节点测试香港和美东VA(图5.2、图5.3),一个5.5s一个7.8s,变化不大。不过proformance评分上去了,除了FBT是由于服务器的问题,其他得到了改善(图5.4)
  • 国内测试速度上并没太大的改善,而且美国这边的速度降下来了。不过和防护来说,这点降速并算不上什么。

WX20170515-141705 - cloudflare与百度云CDN使用对比

(图5.1) WX20170515-140717 - cloudflare与百度云CDN使用对比

(图5.2)

WX20170515-140858 - cloudflare与百度云CDN使用对比

(图5.3)

WX20170515-140809 - cloudflare与百度云CDN使用对比

(图5.4)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图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)

WX20170515-115000 - cloudflare与百度云CDN使用对比

(图6.1)

 

WX20170515-110020 - cloudflare与百度云CDN使用对比

(图6.2)

WX20170515-105741 - cloudflare与百度云CDN使用对比

(图6.3)

WX20170515-110911 - cloudflare与百度云CDN使用对比

(图6.4)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图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)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图7.1)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图7.2) cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图7.3)cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图7.4)

cloudflare与百度云CDN使用对比 - cloudflare与百度云CDN使用对比

(图7.5)

 

总结

从测试结果来看,cloudflare和百度的国内节点是共享的,因为他们最终出现的结果非常类似。而且!!他们的海外节点貌似也是共享的。像我这样的海外站点要兼顾国内和海外的,上他们是必须的,而且收费版和免费版差距也是巨大的。特别在稳定性上。

从速度来说,未加CDN>普通收费版>免费版。但是网站不是单单从速度去考量的,建议所有网站都加上CDN,他带来的安全防护以及其他周边远远大于不加。看上去百度云和cloudflare区别并不是很大,所以还是建议使用cloudflare, 毕竟是老牌大公司。

(另外发现个神奇的现象,香港和美东连接美西那边的服务器,竟然还是香港快。)

当然有条件的强烈建议上收费版,免费版不仅老抽风,而且还有比较多的问题,自己就碰到好几个,写在注意点里面了。欢迎大家补充和指点。

有几个注意点:

  • cloudflare的免费版出现了一些奇怪的现象,现在发现的有:部分url的内容无法用curl读取,lightbox的JQuery失效,暂时没有找到原因,不过我怀疑是和https有关。跟进:收费版就解决了,我怀疑免费版有东西被block了
  • 百度云和cloudflare的系统是互通的, 你在任意一个地方增加了域名(无论是NS还是CName)都会导致另一边deactive。

邮件订阅,随时获取更新信息

4条回应:“cloudflare与百度云CDN使用对比”

  1. 吃瓜群众说道:

    不管你用百度云还是cloudflare,都要在国内备案才能用国内节点,而如果你用百度云加速,只要域名备案,用百度云加速就能同时享受国内国外加速,国内百度节点,国外用的cloudflare节点。吃咯(百度云加速专业版才支持https)
    如果用cloudflare,你的域名已经备案,也需要买Enterprise 跟客服联系,才能开启https://www.cloudflare.com/zh/network/china/ 里面宣传的中国服务器。

    • 天堂说道:

      Enterprise版本实在是吃不消,太贵。这样看还是百度云比较爽,只要备案不仅能享受国内还能享受国外的。但是不知道为啥我体验下来cloudflare也在使用国内节点(不知道是不是错觉)

    • dai说道:

      不是 pro版就可以用国内节点了吗?

发表评论

电子邮件地址不会被公开。

This site uses Akismet to reduce spam. Learn how your comment data is processed.