之前问了小伙伴,貌似都比较模糊,自己做了测试,请大家多指教,图片看不到的话原文链接: https://blog.jing.do/2319
一直在用 cloudflare 的付费版,效果还是非常不错的,所以把很多站都移到了 cloudflare 上面,免费版会有一些问题,但是能用他的 DDOS 安全防护也是不错的选择。
但是 cloudflare 和其他 CDN 一样,有个致命的问题就是国内的访问速度特别慢。这也没办法,国内没有备案和执照是没办法放服务器的,很多政策的限制导致了 CDN 都是绕着中国跑,连微软的 azure 在中国都是一个阉割版和别人合作。研究了一番在他们官方上有这么一个说辞。
Cloudflare 现已推出了中国大陆地区的服务,帮助所有企业改善他们的互联网应用的性能及安全, 扩展其全球业务。Cloudflare 和百度的合作将百度大陆的 22 个中心地区节点与 Cloudflare 全球的 86 个节点结合起来,实现了真正的资源优化整合。
Cloudflare 不提供中文服务, 中国客户应该使用百度云加速。 百度云加速是第一个在中国和海外为网络性能提供加速,安全和智能服务的中文服务。 云加速提供与 Cloudflare 同样的功能 (CDN、DNS、DDOS、Web 安全防护等), 并且专门为中国网络和市场需求进行了优化。
如果您希望改善您的中国网站、移动端应用、以及互联网应用程序的性能和安全, 请访问 http://su.baidu.com/注册您的账户。
( 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 的证书还有效的原因?
(图 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 )
由于还是不放心,我又做了第二轮测试,用于测试的站点情况如下:
自己的博客,主要是文字,少量图片 独立服务器在加州,数据库 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 ) 国内测试速度上并没太大的改善,而且美国这边的速度降下来了。不过和防护来说,这点降速并算不上什么。
(图 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 失效,暂时没有找到原因,不过我怀疑是和 https 有关。跟进:收费版就解决了,我怀疑免费版有东西被 block 了 百度云和 cloudflare 的系统是互通的, 你在任意一个地方增加了域名(无论是 NS 还是 CName )都会导致另一边 deactive。
1
zangev5 2017-05-18 14:13:53 +08:00
啊,没有图配上,为什么还发那么长- -
|
2
rosu 2017-05-18 14:30:44 +08:00 via Android
幸苦了,文章很棒。
不过帖子内容建议贴上概要就行,原文的排版看起来比较舒服。 如果要全文,那还是贴 md 源码比较好。 |
3
AsherG 2017-05-18 14:31:36 +08:00
感谢做了这么多测试,提供了很好的参考
可惜 CF 收费版每月 20 刀还是有点心疼啊 |
4
feiyuhk 2017-05-18 17:43:54 +08:00 via iPhone
图呢?
|
5
Showfom 2017-05-18 18:00:35 +08:00 1
百度收费版 一年 1000 比 CF 的 20 刀要便宜,自带所有功能,我一直有在用,给图片做 CDN
动态网站除非你对你源站的网络特别有信心,需要国内外都访问快,不然要不是国内 502 就是国外 502 正常 @AsherG 早年不买 5 刀,现在后悔了吧哈哈 |
6
Showfom 2017-05-18 18:03:41 +08:00 1
CF 免费版的 SSL 证书做了限制的,curl 是访问不了的 收费版就没有限制
百度云加速国外节点都用的 CF 的节点,免费版不支持 HTTPS 收费版和 CF 收费版基本一样,而且不限制流量,对于静态网站来说算是个良心产品 一堆人骂他云减速的,99% 都是因为自己源站的出口带宽不行,导致加速节点访问自己源站的时候就超时了,而且我见过不少源站在国内,普通电信国际出口,然后国外访客访问的 CF 国外节点,全部超时,呵呵哒 其实做好缓存策略以后,百度云加速基本上是一款特别良心的产品了。 |
13
zeinipiyan 2017-05-18 21:29:06 +08:00
@Showfom 国内版要备案不要?
|
14
Showfom 2017-05-18 22:53:40 +08:00
@zeinipiyan 肯定要啊
|
16
Showfom 2017-05-19 13:59:49 +08:00 via iPhone 1
@WildCat 源站在国外 如果你是没有缓存的动态站 国内访问 502 很正常 建议用个 cn2 之类的线路做个跳板 然后静态文件用个单独的二级域名
|
18
mike2016 2017-06-21 14:34:02 +08:00
感谢。
|
19
fancyhan 2018-04-29 23:28:04 +08:00
百度的恶心的没法用了,
|