(以百度CDN进行分析)

婆说婆有理,公说公有理。是否使用CDN,不同的工程师有不同的意见。

这里呢我来进行一下简单的分析。

【正方观点】

1、 提升网站加载速度:CDN通过缓存技术提升网站打开速度,便于蜘蛛快速抓取和爬行

2、 提升网站安全性:隐藏真实网站ip,防御针对服务器IP的攻击和各种探测扫描,避免被黑

3、 提升网站稳定性:CDN的ip遍布全国,如果出现局部地区网络问题,不会影响搜索引擎抓取

4、 提升网站用户体验:CDN提升用户的打开体验,对提升排名也有一定的作用

【反方观点】

1、抓取数据下降:CDN ip的多样性,部分ip可能对蜘蛛并不友好;

2、缓存导致数据陈旧:CDN的缓存特性,导致部分地区可能内容更新不同步;

3、服务商优劣参杂:因为服务商的实力不同,可能会导致CDN系统不稳定,反而产生负面影响

4、本地网站无需CDN:部分网站只服务本地,只要机房也在本地,无需使用CDN;

综合双方观点来看,大家的争议点主要集中在CDN的多ip入口和缓存机制会不会对搜索引擎抓取、网站排名产生不利影响。

从 搜索抓取机制上讲:Baiduspider对站点的抓取方式和普通用户访问一样,只要普通用户能访问到的内容,我们就能抓取到。不管是用什么技术,只要能 保证用户能流畅的访问网站,对搜索引擎就没有影响。而缓存技术提升了打开速度和用户体验,这也是百度搜索引擎一直所倡导的,那么为什么还是有一些网站使用 CDN后产生了负面影响。

我们对百度工程师进行了相关咨询,主要有两方面的因素:

一是部分CDN服务商硬件投入不够,经常出现不稳定情况,导致蜘蛛返回大量503内容,导致了抓取量的下降,有的甚至影响了索引量的影响;所以选择有实力的CDN服务商很重要!

二是缓存机制在网站出现死链、无法打开、被黑等情况的时候起到了推波助澜的作用。短时间内产生了一些不利快照,影响了排名。但是这种情况不用担心,及时清理源文件和CDN缓存,并在站长平台提交相关死链数据等方法进行挽回,是可以恢复到原来的情况的!

参考资料:以下内容由百度开放云提供

网站要不要用CDN?

画了一张朴(很)素(low)的图帮助大家来了解业务是否适合使用CDN

以静态请求来说,流量命中率越高的业务越适合用CDN,这时成本越低,加速效果越好

以动态请求来说,一般不适合用CDN,经过CDN会增加链路的时间开销。除非CDN有动态加速功能保证CDN的链路选择最优。这种情况下选择使用动态加速功能,带来的好处是源站只需要单线部署,由CDN实现更复杂网络的接入。

注:流量命中率=(((CDN出流量-发生回源的出流量)/CDN出流量)*100)%

画了一张朴(很)素(low)的图帮助大家来了解什么是流量命中率,这是CDN非常重要的一个指标,流量命中率越高意味着加速效果越好,花的钱越少

也许这时候你会问我的内容是静态的也很hot,那我是否就一定要用CDN了呢。答案是不一定。还有一个至关重要的因素是成本。CDN的成本降低是在最大化保证用户体验的情况下成本最优(好拗口)

简言之对于一些对成本非常敏感,不追求极致的用户体验的公司,CDN未必是一个好的选择。

举 个栗子,一个小型的创业游戏公司使用CDN的主要场景的是游戏下载,由于处于创业阶段,对成本非常敏感,同时认为在当前阶段下可以牺牲用户体验,他们最终 并没有选择使用CDN,而是直接购买了1Gbps的带宽并进行限速,这样的选择是他们的成本从每月12万元左右降低到5万元左右。但是CTO也坦言这是特 殊阶段不得不做出牺牲用户体验的选择,后面仍然会考虑使用CDN。

结论:如果您要保证网站访问体验最优化,网站访问很热的静态内容是非常适合使用CDN的。

1. 提升访问速度

使用CDN后全国的访问速度-平均传输速度5.76MB/s

 2. 降低带宽成本

前面提到,在保证访问效果最优的情况下,使用CDN降最大程度的降低带宽成本和人力维护成本

3. 减轻源站压力

使用CDN以后,一个带宽峰值100Gbps左右的大型站点基本只需要维护带宽峰值在1~2Gbps左右的源站即可。

4. 隐藏源站,增强源站抗攻击能力

由于CDN隐藏了源站的真实IP以及CDN天然的抗攻击能力,使用CDN后,源站的安全性会大幅提升

浅谈CDN加速问题的更多相关文章

  1. 浅谈CDN、SEO、XSS、CSRF

    CDN 什么是CDN 初学Web开发的时候,多多少少都会听过这个名词->CDN. CDN在我没接触之前,它给我的印象是用来优化网络请求的,我第一次用到CDN的时候是在找JS文件时.当时找不到相对 ...

  2. 浅谈CDN技术的性能与优势

    从淘宝架构中的CDN入手分析 使用CDN和反向代理提高网站性能.由于淘宝的服务器不能分布在国内的每个地方,所以不同地区的用户访问需要通过互联路由器经过不同长度的路径来访问服务器,返回路径也一样,所以数 ...

  3. 浅谈矩阵加速——以时间复杂度为O(log n)的算法实现裴波那契数列第n项及前n之和使用矩阵加速法的优化求法

    首先请连矩阵乘法乘法都还没有了解的同学简单看一下这篇博客: https://blog.csdn.net/weixin_44049566/article/details/88945949 首先直接暴力求 ...

  4. 浅谈 举家搬迁静态文件到CDN

    由于七牛CDN最近做活动,对于标准用户可以免费使用如下优惠 10 GB 存储空间 10 G/月 下载流量 10 万次/月 PUT/DELETE 请求 100 万次/月 GET 请求 以上这些指标直接就 ...

  5. 转:浅谈CSS在前端优化中一些值得注意的关键点

    前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加 ...

  6. 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理

    [微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...

  7. 朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招

    朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招 概览 标题中的高并发架构设计是指设计一套比较合适的架构来应对请求.并发量很大的系统,使系统的稳定性.响应时间符合预期并且能在极端的情况下自 ...

  8. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  9. Signalr系列之虚拟目录详解与应用中的CDN加速实战

    目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...

随机推荐

  1. 【NOI2015】荷马史诗[Huffman树+贪心]

    #130. [NOI2015]荷马史诗 统计 描述 提交 自定义测试 追逐影子的人,自己就是影子. ——荷马 Allison 最近迷上了文学.她喜欢在一个慵懒的午后,细细地品上一杯卡布奇诺,静静地阅读 ...

  2. 如何使用HttpClient来发送带客户端证书的请求,以及如何忽略掉对服务器端证书的校验

    最近要做客户端和服务器端的双向认证,在客户端向服务器端发送带证书的请求这里有一点问题,网上的例子大多都不太好使,于是找了github上httpclient源代码中的例子改造了一下,终于弄明白了 git ...

  3. C# 未能加载文件或程序集“xxx”或它的某一个依赖项。参数错误。(异常来自 HRESULT:0x80070057 (E_INVALIDARG))

    错误信息: 因为电脑突然蓝屏,然后重启,再运行项目,报了这个错. 解决方案: 环境是:VS2012+Win7 通过网上查找, 4.0 删除 C:\Windows\Microsoft.NET\Frame ...

  4. C# IEqualityComparer 去重

    1.去除list里某重复字段值的数据(相当于group by) public class CorrController { //方法 public void DoGet() { List<tes ...

  5. 解决Android 5.0中出现的警告:Service Intent must be explicit

    extends:http://www.eoeandroid.com/thread-568853-1-1.html 本帖最后由 469874851 于 2015-3-11 18:15 编辑 有些时候我们 ...

  6. ajax无刷新获取天气信息

    浏览器由于安全方面的问题,禁止ajax跨域请求其他网站的数据,但是可以再本地的服务器上获取其他服务器的信息,在通过ajax请求本地服务来实现: <?php header("conten ...

  7. spring面试大全

    一.spring如何实现资源管理? 使用 applicationContext.getResource(“classpath:文件名”):在src根目录下,在类路径下 applicationConte ...

  8. Cloudstack云平台实践

    laaS平台的虚拟化 利用率高 资源整合 节约电能 节约空间 灾难恢复 CloudStack是一个开源的具有高可用性及扩展性的云计算平台.支持管理大部分主流的hypervisor,如KVM虚拟机,Xe ...

  9. HDU 2444 - The Accomodation of Students - [二分图判断][匈牙利算法模板]

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2444 Time Limit: 5000/1000 MS (Java/Others) Mem ...

  10. Linux的Application 内存模型---

    Linux的内存模型,一般为: 现在的每个进程使用了全部4G线性空间.在加载程序时内核把程序加载到线性地址0x08048000开始的位置.这个位置当然>128MB.2G开始是共享库,3G开始是内 ...