浅谈CDN加速问题
(以百度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加速问题的更多相关文章
- 浅谈CDN、SEO、XSS、CSRF
CDN 什么是CDN 初学Web开发的时候,多多少少都会听过这个名词->CDN. CDN在我没接触之前,它给我的印象是用来优化网络请求的,我第一次用到CDN的时候是在找JS文件时.当时找不到相对 ...
- 浅谈CDN技术的性能与优势
从淘宝架构中的CDN入手分析 使用CDN和反向代理提高网站性能.由于淘宝的服务器不能分布在国内的每个地方,所以不同地区的用户访问需要通过互联路由器经过不同长度的路径来访问服务器,返回路径也一样,所以数 ...
- 浅谈矩阵加速——以时间复杂度为O(log n)的算法实现裴波那契数列第n项及前n之和使用矩阵加速法的优化求法
首先请连矩阵乘法乘法都还没有了解的同学简单看一下这篇博客: https://blog.csdn.net/weixin_44049566/article/details/88945949 首先直接暴力求 ...
- 浅谈 举家搬迁静态文件到CDN
由于七牛CDN最近做活动,对于标准用户可以免费使用如下优惠 10 GB 存储空间 10 G/月 下载流量 10 万次/月 PUT/DELETE 请求 100 万次/月 GET 请求 以上这些指标直接就 ...
- 转:浅谈CSS在前端优化中一些值得注意的关键点
前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加 ...
- 【微信小程序项目实践总结】30分钟从陌生到熟悉 web app 、native app、hybrid app比较 30分钟ES6从陌生到熟悉 【原创】浅谈内存泄露 HTML5 五子棋 - JS/Canvas 游戏 meta 详解,html5 meta 标签日常设置 C#中回滚TransactionScope的使用方法和原理
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05- ...
- 朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招
朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招 概览 标题中的高并发架构设计是指设计一套比较合适的架构来应对请求.并发量很大的系统,使系统的稳定性.响应时间符合预期并且能在极端的情况下自 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- Signalr系列之虚拟目录详解与应用中的CDN加速实战
目录 对SignalR不了解的人可以直接移步下面的目录 SignalR系列目录 前言 前段时间一直有人问我 在用SignalR 2.0开发客服系统[系列1:实现群发通讯]这篇文章中的"/Si ...
随机推荐
- [Sdoi2016]平凡的骰子
描述 这是一枚平凡的骰子.它是一个均质凸多面体,表面有n个端点,有f个面,每一面是一个凸多边形,且任意两面不共面.将这枚骰子抛向空中,骰子落地的时候不会发生二次弹跳(这是一种非常理想的情况).你希望知 ...
- 2-2 vue环境搭建以及vue-cli使用
一.vue多页面应用文件引用 1.官网拷贝: <script src="https://cdn.jsdelivr.net/npm/vue"></script> ...
- .NET中字符串split的C++实现
void CustomVersion::split(const string &s, char delim, vector<string> &elems){ istring ...
- DragonBones龙骨换装(局部换装+全局换装)
参考: Egret官方换装动画 Egret换装三种方式 CSDN(全局换装) egret使用DragonBones实现简单的换装 换装,主要是替换任意插槽的图片,来达到局部换装的目的. 游戏中可以只制 ...
- vue之修饰符
修饰符 .lazy 在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 .你可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步: <!-- ...
- hive体系结构
1.什么是hive Hive是一个基于Hadoop的数据仓库,可以将结构化数据映射成一张表,并提供类SQL的功能,最初由Facebook提供,使用HQL作为查询接口.HDFS作为存储底层.mapRed ...
- 表优化 altering table OPTIMIZE TABLE `sta_addr_copy`
表优化 altering table OPTIMIZE TABLE `sta_addr_copy` [总结] 1.实际测试的结果是,在state sqlaltering table OPTIMIZE ...
- Linux的Application 内存模型---
Linux的内存模型,一般为: 现在的每个进程使用了全部4G线性空间.在加载程序时内核把程序加载到线性地址0x08048000开始的位置.这个位置当然>128MB.2G开始是共享库,3G开始是内 ...
- cdn,wsgi框架
CDN:分布式服务器 wsgi:http请求----wsgi----web框架
- google kaptcha 验证码的使用
这边演示下idea+maven+servlet实现谷歌的kaptcha验证码的使用: web.xml, 这边主要是kaptcha验证器, <!DOCTYPE web-app PUBLIC &qu ...