(以百度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. 【CF316G3】Good Substrings 后缀自动机

    [CF316G3]Good Substrings 题意:给出n个限制(p,l,r),我们称一个字符串满足一个限制当且仅当这个字符串在p中的出现次数在[l,r]之间.现在想问你S的所有本质不同的子串中, ...

  2. Android LayoutCast 初探

    今天无意间看见了一个神器,顿时让我血气蓬勃! 废话不多说,先上网址:https://github.com/mmin18/LayoutCast 把代码和资源文件的改动直接同步到手机上,应用不需要重启.省 ...

  3. linux定时任务cron配置说明

    实现linux定时任务有:cron.anacron.at,使用最多的是cron任务 名词解释 cron--服务名:crond--linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与 ...

  4. 远程服务器git搭建

    在远程服务器如:/var/www下创建hello.git 然后git init --bare hello.git cd hello.git会看到下面的目录和文件 然后创建可以访问git的用户 git ...

  5. OSI互联数据包封装与解封装过程

    当我们在七层协议最上层,主机A想和其它主机通信, 比如telnet到主机B,各层都为数据打包后再封装上自己能识别的数据标签,现在我们只说四层以下的通信过程. .当一个高层的数据包到达传输层,由于tel ...

  6. 洛谷P2569 股票交易【dp】【单调队列】

    题目描述 最近 \text{lxhgww}lxhgww 又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,\text{lxhgww}lxhgww 预测到了 ...

  7. windows10配置tensorflow深度学习环境(GPU版)各种坑

    我们配置一个tensorflow-gpu版的深度学习环境 windows10 64 python3.5 vs2017(需要C++部分) cuda9.0 cudnn7.1 GeForce GTX1060 ...

  8. 任何时候心中都要有WBS的模版树---产品模块级项目

  9. ItunesConnect:上传完二进制文件后在构建版本中找不到

    最近经常遇到上传完二进制文件后在构建版本中找不到的情况: 环境:Xcode 8.2 (8C38) 大致有几种原因,可以按照以下步骤排查下. 排查步骤: 1.检查使用的权限,并info.plist文件中 ...

  10. 线性参照,M值的相关测试

    怎样使用普通线要素获取带M值的线要素 怎样查看线要素各个折点上的M值,怎样导出为一张表 线性参照:http://resources.arcgis.com/zh-cn/help/main/10.2/in ...