CDN具体解释(篇二)

还有还有一个问题就是全部的内容都放在同一个地方。假设我们的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. 很多其它文章请扫码:

时间: 2024-10-05 05:05:03

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

线程篇(二)

C# 温故而知新: 线程篇(二) 线程池和异步线程 目录: 1 什么是CLR线程池? 2 简单介绍下线程池各个优点的实现细节 3 线程池ThreadPool的常用方法介绍 4 简单理解下异步线程 5 异步线程的工作过程和几个重要的元素 6 有必要简单介绍下Classic Async Pattern 和Event-based Async Pattern 7 异步线程的发展趋势以及.net4.5异步的简化 8 本章示例 自定义一个简单的线程池 Asp.net异步IHttpAsyncHandler示例

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

[转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句话中最引人注目的是"复用代码",尽可能的复用代码使我们程序员一直在追求的,现在我来介绍一种复用代码的方式,也是java三大

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

原文:SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行) 前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块的内容,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲言少叙,进入本篇的内容. 技术准备 数据库版本为SQL Server2012,利用微软的以前的案例库(Northwind)进行分析,

JMS基础篇(二)

简介 异构集成是消息发挥作用的一个领域,大型公司内部可能会遇到很多的平台,Java,.net或者公司自己的平台等. 传送消息还应该支持异步机制,以提高系统整体的性能.异步传输一条消息意味着,发送者不必等到接收者接收或者处理消息,可以接着做后续的处理. 应用程序发送消息至另外一个应用程序,需要使用到消息中间件.消息中间件应提供容错,负载均衡,可伸缩的事务性等特性. JMS与JDBC类似,是一种与厂商无关的API.应用程序开发者可以使用同样的API来访问不同的系统. 可以认为JMS是一种标准,各消息

Qt学习总结-ui篇(二)

qccs定义圆角 border-radius:10px; 如果想给特定位置定义圆角,如: 左上角:border-left-top-radius:10px; 右下角色:border-right-bottom-rasius:10px; 半透明效果 只需要在css中使用rgba(100,100,100,40)这种形式来表示颜色即可. 为可执行文件添加图标 1.新建文件:finename.rc 文件名无所谓,只要后缀为rc就可以. 2.编辑新建的文件,输入以下内容: IDI_ICON1 ICON DIS

自由操控声音-相位声码器-变速篇(二)

除了通过时域OLA变速,重构相位的方法外,也可以直接对声音的频谱进行拉伸或者收缩,像手风琴一样,保持谐波结构不变, 延长或者缩短时间. 对应于语音,就是对语谱图的拉伸或者收缩,首先对短时傅里叶变换的幅度谱进行插值或者抽取,接着对相位进行调整, 傅里 叶逆变换之后重新叠加合成声音.             OLA相位调整方法                                  频谱插值.抽取方法            相位声码器相位调整变速0.7:     http://pan.ba

C++高级进阶 第四季:const具体解释(二) 常量折叠

一.文章来由 const具体解释之二 二.const 取代 #define const最初动机就是取代 #define. const 优于 #define: (1) #define没有类型检查,const在编译期(而不是预编译期)做类型检查. (2)const方便调试和定位bug. 所以应该全然用const取代#define 三.头文件里的const (1)要使用const取代#define.相同须要把const定义放进头文件(或其它格式文件,include就可以). 这样通过包括头文件.可把c

DNS 配置篇二

一.子域配置 1.基本概念 子域的作用是在本地DNS下再划分一个小的(子)DNS.作用的方便集中管理, 不过问题是要配置转发.父DNS可以知道解析子DNS,子DNS 则只可以解析自己 本地记录,不能解析父DNS. 正向子域授权: 只需要在父域的区域解析库中添加"胶水记录", glue record 子域名称   IN  NS  子域的名称服务器 ops  IN   NS   ns.ops ops  IN   NS   ns2.ops ns.ops  IN  A       172.16

Oracle内存管理理论篇二

目标 了解oracle内存管理方式 掌握ASMM管理方式 掌握AMM管理方式 监控内存使用 学习一个知识点时,最好先了解其历史.ORACLE近期的版本都对内存管理做了简化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过Automatic Shared Memory Management(ASMM)实现SGA的自动管理,到11g通过Automatic Memory Management(AMM)实现内存(SGA+PGA)的自动管理.目前的11G版本,DBA只

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

原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(array1,sorting order, sorting type,array2,array3..)是对多个数组或多维数组进行排序的函数. array1 必需.规定输入的数组. sorting order 可选.规定排列顺序.可能的值是 SORT_ASC 和 SORT_DESC. sorting t