基本上,互联网上的每个人都体验过内容分发网络(CDN)的好处。包括Google、Apple和Microsoft等公司在内的大多数技术公司都使用CDN来减少加载网页内容的延迟。
CDN通常会将服务器放置在不同网络之间的交换点。这些互联网交换点(IXP)是不同互联网提供商连接的主要位置,以便彼此提供对来自其不同网络的流量的访问。除了IXP外,CDN还将服务器放置在位于全球高流量区域和战略位置的数据中心,以便能够尽快移动流量。
CDN的一大优势是它能够快速、高效地交付内容。CDN性能优化可分为三个类别。
为了便于理解使用CDN的好处,我们来看看没有CDN时普通客户端/服务器数据传输会是什么样子。
使用CDN和不使用CDN在加载时间上有何不同?
假设纽约的某个人需要访问新加坡服务器上托管的网站。这两个位置相隔甚远,物理距离为大约9,520英里。
如果承载网站内容的服务器(源站服务器)位于新加坡,则对各个网页资产的每个请求都必须从纽约前往新加坡,然后再返回。如同搭乘具有许多连接点的国际航班一样,每个请求在从A点传到B点的远距路程中都要经过一系列路由器。
如果要查看计算机从当前位置到达特定Web服务需要多少个不同连接点(跃点)的真实示例,可以使用桌面端计算机探索一下traceroute实用程序。
因为从纽约到新加坡的请求需要沿途经过每个路由器位置,所以总距离和每个路由器处理请求所花费的时间都会增加时间量(延迟)。一旦源服务器处理请求并响应发出请求的客户端,它就会通过类似的路由器序列将信息发送回,然后再返回纽约。这一总往返行程的测量在电信中称为“往返时间”的RTT。暂时忽略可用带宽和潜在的网络拥塞,让我们来看一个延迟因素的例子。
我们粗略看一下该网页的加载时间:
在这个简单示例中,网页加载的总传输时间约为?3000毫秒。
如您所见,每次发出请求并发送响应时,都要遍历纽约客户与新加坡源站之间的整个路径。随着网站规模扩大并需要更多资产,A点和B点之间的延迟会不断增加。
我们再看一下向纽约的Web客户端提供托管在新加坡的内容的示例,但这一次新加坡站点使用一个在亚特兰大设有服务器的CDN,其含有静态网站的缓存副本:
我们粗略看一下该网页使用CDN时的加载时间:

网页加载的总传输时间约为?1100毫秒。
在本例中,客户端与内容之间距离缩短使静态内容的延迟时间缩短了1900毫秒;也就是说,加载时间缩短了将近2秒钟。
通过缩短所有必要流量都需要遍历的总距离,网站的每一用户都能节省大量加载时间。用户会随着等待时间增加而开始迅速离开站点(跳出),因此这种改进既代表了更好的用户体验,也代表着更长的页面停留时间。
CDN如何加载内容?什么是高速缓存?
如前文所述,当客户端从源站服务器请求文件时,请求通常需要传送到服务器,然后再传回来。CDN在称为“高速缓存”的过程中将静态内容文件从源站服务器拉取到分布式CDN网络中,从而减少延迟。某些CDN具有高级功能,允许有选择地高速缓存动态内容。数据经过高速缓存之后,CDN将从最近的CDN数据中心向客户端提供内容。
完成?TCP握手后,客户端计算机向CDN的网络发出HTTP请求。如果内容尚未缓存,则CDN将首先通过在源站服务器和CDN边缘服务器之间进行额外请求,从源站下载内容。
典型的CDN高速缓存过程包含以下4个步骤:
CDN与客户端的近距离价值是在向源站服务器发出初始请求之后体现出来的。一旦数据从源站服务器高速缓存到CDN网络中,来自客户端的每个后续请求都只需到达最近的边缘服务器即可。这意味着,如果最近的边缘服务器比源站服务器近,就能减少延迟,并且更快提供内容。
务必要牢记一点,这不包括下载资产以及处理请求和响应所需的时间;到目前为止,仅计算在两个位置之间传输信息所需的传输时间。我们将探索的其他重要延迟因素还包括数据缩减、硬盘速度和网络拥塞。
CDN如何通过缩减文件大小来提高速度?
为缩短页面加载时间,CDN减少CDN的高速缓存服务器和客户端之间的总体数据传输量。当传输的数据总量下降时,延迟和所需带宽都会减少。带来的结果是更快的页面加载和更低的带宽费用。这些缩减包括两个关键组成部分:
极简化:极简化是指通过删除用于帮助人类了解所发生情况的所有组件来减少代码块大小的过程。尽管工程师需要将想法分解为合理的变量名称、空格和注释,以使代码块易于阅读和维护,但计算机在删除这些字符后仍然可以成功运行代码。
下方列出了极简化前后的代码块:
极简化之后:缩减为一行代码
现在,代码片段已从八行减少到一行,整个文件的大小也缩小。这意味着传输文件所需的时间将缩短,减少了延迟并有助于更快加载内容。
文件压缩:若要减少通过互联网传输数据时所需的延迟和带宽消耗,文件压缩是一个重要组成部分。GZip是常用的压缩方法,视为传输网页时所用的一种最佳实践。许多CDN提供商默认情况下都启用GZip。GZip压缩的节省程度有多大?通常,压缩后的文件的大小比初始文件小大约50%到70%。
CDN可以利用哪些硬件来提高速度?
就CDN硬件优化而言,与传统硬盘驱动器(HDD)相比,使用固态硬盘(SSD具有显着的优势。固态驱动器打开文件的速度比传统硬盘驱动器最多快30%,而且更具弹性和可靠性。
与电唱机类似,传统硬盘驱动器由旋转的圆形金属碟片构成,碟片上的磁性涂层可以存储数据。当碟片旋转时,上方臂架上的读/写头可以访问信息。这是一种机械过程,会受到碟片旋转速度的影响。随着固态驱动器的诞生,旧式硬盘驱动器的使用已在减少,但它们目前仍在生产,并在许多计算机系统中广泛使用。
固态驱动器(SSD)也是一种持久存储形式,但其功能与USB拇指驱动器或数码相机等设备中常见的存储卡更相似;没有移动部件。如果普通硬盘正在旋转并且系统受到挤压,硬盘可能会跳过,从而导致读/写错误和潜在的停机时间。SSD的另一个重要好处是访问碎片文件。文件碎片是文件的一部分位于磁盘上不同位置的情况,导致HDD驱动器的访问速度变慢。由于SSD可以有效地访问非连续内存位置,因此碎片不会对性能构成威胁。
在首批CDN中,数据存储在硬盘驱动器上。现在的一些CDN服务将所有边缘缓存放在固态驱动器上进行。SSD的缺点是成本高昂;SSD的成本可达传统介质的5倍。因此,一些CDN服务通常会避免使用SSD,而选用较旧的技术。
本文来源:国外服务器--CDN如何改善加载时间(使不用CDN有什么不同)
本文地址:https://www.idcbaba.com/guowai/2906.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



