还有还有一个问题就是全部的内容都放在同一个地方。假设我们的server在芝加哥,那么美国中西部的人们訪问server的响应时间和用户体验就比香港、德国、南非以及佛罗里达州的用户好。由于那些用户离server的物理距离更远,依据物理定律来看。这些用户获取内容显然须要更长时间。这加大了请求的数量,并且当中大部分请求为静态内容或者是占用大量带宽的文件的请求。

单个字节的数据以server为原点传输到终端用户所花的时间被称为“往返时间”(round trip time)或者称作延迟(以毫秒为单位)。

假设我们先要更快的传输网页内容,那么我们最想要的事情也就是尽可能低的延迟。或许,毫秒听起来并非什么大问题。可是,假设你意识到一个典型的web页面有1M或者更大并且还包括很多单独的文件。那么请求页面所花费的毫秒数将添加。

延迟对于移动内容提供商来说是个更大的问题。由于手机网络本质上要比陆基网络延迟高的多。

虽然4G总是宣传有更大的带宽。但并不意味着有更低的延迟(这是两个全然不同的网络指标)。

为了说明两者的不同。我从3个不同的设备上訪问DBS中某一台server。得到结果例如以下:

  • DBS办公室的快速商业类10M网络环境下:12毫秒(最好)

  • AT&T公司的18兆U-verse家庭网络环境下:69毫秒

  • 我的安卓4G智能手机(Verizon):180毫秒(最差)

以上说明。带宽和延迟没有不论什么关系。

最好的情况比最差的情况快15倍,我们全部人中大多数人也都会选择比平均水平更快的网络去连接。

3G网络的延迟更高。往返时间(RTT)高达400毫秒。

同一时候,手机网络也更easy丢包(还有一个网络度量),这会从根本上减少性能。

所以。移动网络假设想要接近桌面程序的响应速度则须要採取一些更积极的优化策略。

因此,或许你正在一而再再而三的考虑这之间真的有这么大差别吗?眼下。已经有很多来自谷歌、雅虎以及其它公司的研究表明。每载入一次额外的第二个页面会有10%的转化率的下降。

再次强调,时间就是金钱。

CDN就是为解决上述提到的全部问题而存在的。

通过CDN,延迟有效的减少了,并且内容以更有效的方式传输。

CDN并非新的东西,在拨号上网的年代就已经存在,仅仅只是在非常长一段时间里仅仅是被像雅虎、YouTube这种大站点使用。

可是眼下。CDN变得越来越easy构建也使得小规模的用户也能够使用。

可是,CDN适用于全部情况吗?不是。实际上,CDN在非常多时候被过度使用了。

假设一个小型组织的用户都是当地用户,那么使用CDN效果就会非常小;并且使用CDN的成本可能会大于收益。

那么。谁应该考虑使用CDN:

  • 内容提供者的用户是分本在整个国家的或者期望针对整个国家或国际用户

  • 提供的内容须要非常高的带宽

  • 移动内容提供商

CDN不是万能的。它不能明显加快在主要托管环境或者应用配置等基础设施方面有问题的站点的訪问速度。

CDN仅仅有在其它潜在的性能问题都被解决的情况下才干得到最高效的使用。

CDN成本怎样?

大部分成本是在建立和管理这样的类型的托管环境。

并且因为额外的复杂性,也会潜在的使配置和管理资源方面花费很多其它时间。

(全文完。。。)

1. 本文由程序猿学架构翻译

2. 本文译自Performance Blog: Content Delivery Networks (CDN) Explained

3. 转载请务必注明本文出自:程序猿学架构(微信号:archleaner
)

4. 很多其它文章请扫码:

CDN具体解释(篇二)的更多相关文章

  1. Android开发之异步具体解释(二)之AsyncTask

    请尊重他人的劳动成果,转载请注明出处:Android开发之异步具体解释(二)之AsyncTask http://blog.csdn.net/fengyuzhengfan/article/details ...

  2. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  3. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  4. 《高性能javascript》 领悟随笔之-------DOM编程篇(二)

    <高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

  5. SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)

    前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块 ...

  6. php基础篇-二维数组排序 array_multisort

    原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...

  7. C蛮的全栈之路-node篇(二) 实战一:自动发博客

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...

  8. 【SSRS】入门篇(二) -- 建立数据源

    原文:[SSRS]入门篇(二) -- 建立数据源 通过 [SSRS]入门篇(一) -- 创建SSRS项目 这篇,我们建立了一个SSRS项目: 接下来,我们以 AdventureWorks2012 示例 ...

  9. 【转】java提高篇(二)-----理解java的三大特性之继承

    [转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...

  10. CYQ.Data 轻量数据层之路 使用篇二曲 MAction 数据查询(十三)----002

    原文链接:https://blog.csdn.net/cyq1162/article/details/53303390 前言说明: 本篇继续上一篇内容,本节介绍所有相关查询的使用. 主要内容提要: 1 ...

随机推荐

  1. 点击按钮打开一个新的窗口 关键词(Intent, setData , putExtra , startActivity |Bundle)

    M3U8_Video_demo 项目 //------------------ 创建发送private void playVideo(String source, String title) { if ...

  2. 122. Best Time to Buy and Sell Stock II@python

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  3. 深入理解typeof操作符

    typeof可以检测数据的类型 typeof返回结果的其实是字符串:可以通过以下测试出来 console.log( typeof(typeof(a))); // string typeof返回的数据类 ...

  4. IDEA ctrl+alt+L 格式化快捷键无效时解决

    这几天发现自己Intellij IDEA ctrl+alt+L格式化代码无效 设置里面按照快捷键搜索 按了 ctrl+alt+L 也没反应 但是我设置的确实是默认的 ctrl+alt+L 最后终于找到 ...

  5. 7. ENGINES

    7. ENGINES ENGINES表提供有关存储引擎的信息. 这对于检查是否支持存储引擎或查看默认引擎是什么特别有用. INFORMATION_SCHEMA Name SHOW Name ENGIN ...

  6. qemu-img命令

    qemu-img是QEMU的磁盘管理工具,在qemu-kvm源码编译后就会默认编译好qemu-img这个二进制文件.qemu-img也是QEMU/KVM使用过程中一个比较重要的工具,本节对其用法和实践 ...

  7. 为什么JavaScript里面0.1+0.2 === 0.3是false

    以下这一篇说明的很详细:彻底理解0.1 + 0.2 === 0.30000000000000004的背后 0.1+0.2 === 0.3 //返回是false, 这是为什么呢?? 我们知道浮点数计算是 ...

  8. 谈一谈flex布局使用中碰到的一些问题

    起因 工作以后由于大量使用到了flex布局而碰到了一些尚不清楚的问题,以及一些有意思的特性,在此写篇博客记录一下. flex三个值的含义 众所周知,flex布局所有的属性有两种:一种作用在弹性容器(F ...

  9. CSS--基础结构层叠

    权值:通配符*的权值为0,标签和伪元素的权值为1,类选择符,属性选择器或伪类的权值为10,ID选择符的权值为100,内联样式最高为1000.还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只 ...

  10. 分分钟钟学会Python - 函数(function)

    函数(function) 1 基本结构 本质:将多行代码拿到别处并起个名字,以后通过名字就可以找到这行代码并执行 应用场景: 代码重复执行 代码量很多超过一屏,可以选择通过函数进行代码的分割 写代码方 ...