基于CDN的网站访问加速技术研究

2020-04-29 12:48
江西科学 2020年2期
关键词:服务器速度节点

杨 林 海

(云南国土资源职业学院,652501,昆明)

0 引言

互联网是一个不断变化和创新的机制,不断有新形式的数据和内容。在将其商业化后的同进,必须解决将大量数据尽快推向最终用户的问题。CDN自出现以来,学术界和商业开发人员一直在针对该技术进行大量研究,CDN被认为是影响Web体验的最先进的技术之一。

CDN是构建在现有互联网基础之上的一层智能虚拟网络,是由主服务器和全球范围内分布式网络各处部署节点组成,其目的是缩短访问延迟,提高响应速度与网站可用性,解决网点分布不均等问题[1],实现将源站内容分发至所有CDN节点并存储,使用户访问存储在地理位置最接近用户的位置上的数据[2]。这与所有用户端访问一个服务器或单个节点上存储内容的传统方法模式不同,用户端访问的是用户端附近的数据副本。位置是内容交付速度的关键,用户离服务器越远,内容到达用户所花费的时间就越长,对用户体验影响就越大。CDN访问过程中避免了接近服务器端由于连接集中导致的瓶颈问题,快速的内容加载速度等于更好的用户体验,其访问的效率更高。

1 CDN组网架构及关键技术

使用CDN可以减少网站的加载时间,由于CDN具有遍布全球全网络性,网站在更广泛的范围内表现得更出色。在点到点网络中,CDN在拓扑上更接近用户,用户在访问时得到的数据比实际要短得多,网络延迟比从原始服务器第一个软件包到达之前的时间还要小,访问最后通过原始服务器进行交付[3],因此,网站的访问速度明显加快,改善了用户体验并为用户提供更有效的网络资源利用率,有无CDN的网络分发比较如图1。

图1 CDN使用比较图

CDN的功能主要为以下2个方面。

1)保持重要内容分发到多个分布式的数据中心,数据中心是全球全网络范围内的,以便更接近最终用户,因此下载和访问速度更快。

2)使用基于内容类型的服务器优化将内容最有效地提供给用户。除了更好的性能外,CDN减轻了直接从内容提供商的原始基础结构提供服务的流量[4],同时CDN还有效地抵抗DDoS攻击,因为CDN提供了大型分布式服务器基础结构来吸收攻击量。

CDN的模型如图2。

图2 CDN使用模型图

CDN的关键组件作用描述如表1。

表1 组成及其描述表

大多数CDN架构都是使用传递节点、存储节点、关键组件、原始节点和控制节点来作为关键组件模型来设计(图3)。

图3 CDN体系结构的模型

关键组件描述如表2。

表2 关键组件描述表

CDN分为主动和被动2种类型,当用户首次请求内容时,传递速度将与内容提供者未使用CDN时相同(表3)。但是,在此初始请求之后,位于同一地理位置或与发出请求的原始用户接近的所有其他用户将能够立即访问内容,因为内容将被缓存在传递节点中。

表3 主动CDN和被动CDN比较表

CDN减少带宽成本,缩短页面加载时间或增加内容的全局可用性。组成CDN的节点和服务器的数量根据体系结构而有所不同,有些达到数以千计的节点,有的则建立了全球性的CDN网络,在地理上只拥有少量PoP节点(表4)。

表4 CDN内容加速类型

内容大小各不相同,各个数据从服务器的原始点传输到最终用户所花费的时间为“等待时间”,以毫秒为单位。对于移动Web浏览,延迟表现得更为明显。移动内容交付需要更好的,更积极的优化策略。利用CDN技术大大减少了延迟,并以更优化的方式为终端提供快速的访问。

2 系统性能优化

Web系统永远把用户的体验是放在第一位的,这是运营网站系统的一切。一方面期望是巨大的,网站应该提供交互性、多媒体和尽量多的信息;另一方面,由于互联网内容不断增加,要提供良好的用户体验型网站越来越难。当在考虑网站速度同时,也会考虑各种方法来优化不同元素的加载速度,包括网页、图片、视频、应用程序以及用户保存到计算机或通过Internet浏览器下载的其他元素(图4)。

图4 CDN数据分发示意图

2.1 网站速度优化的重要性

在电子商务中,销售数量与网站内容的交付速度直接相关,Akamai于2017年进行了一项研究,用数据说明了网站性能优化和速度的重要性,证明网站速度与销售数量之间的联系(表5、表6)。

表5 网站加载速度与用户体验表

表6 网站速度与销售数量之间联系表

2.2 网站性能关注

2.2.1 用户满意度 较长的加载时间等于较高的跳失率。跳失率指的是用户进入站点后当即离开站点的次数,以及用户访问该站点总次数的百分比。网站跳失率是评论网站功能的重要原则,网站跳失率高,说明网站用户体验做的不好,用户进入网站后很快就会出来,跳失率是任何网站负责人都应始终考虑的重要因素。考虑到当今技术的改进,简单内容的网站应在2 s内完全加载,加载时间是至关重要的,加载时间会直接影响访问者的满意度或不满意程度。

2.2.2 改善搜索排名 缩短页面加载时间是一种改善搜索排名有效的方法,帮助访问者更快地到达搜索页面,帮助系统保持搜索结果的领先地位,这是被潜在用户发现的最佳途径。无论网站访问用户关注的是网站的界面、隐私等,还是仅仅因为用户已经在网站上找到了他们真正想要的内容,用户都首先必须迅速加载并能查询到结果,如果缩短到网站的访问的物理路径,将大大提高加载结果。

2.2.3 移动用户 相比之下移动用户比PC用户更有耐心,主要原因是移动用户习惯于较慢移动终端访问速度。考虑到当今的4G/5G等的高速高带宽连接,对移动设备支持和快速加载也成了一个重要因素,因此移动页面优化比以往任何时候都更为重要,因为Web浏览现在主要通过移动设备完成。在统计过程中发现:用户中93%的是在移动设备上购买了产品,66%的电子邮件是在移动设备上打开的,所以通过选择CDN,确保从最靠近节点到最终用户的服务器传送内容,不一定要增加服务器或购买相应的软件。

2.3 Web系统加速

使用CDN技术最重要的因素之一很可能是速度和可靠性。适用于有加速需求的网站,包括门户网站、电商平台、资讯APP、UGC应用等。CDN支持自定义缓存规则,用户可以根据数据需求设置缓存过期时间,缓存包括但不限于zip、exe、wmv、gif、png、bmp、wma、rar、jpeg、jpg等。衡量速度和可靠性有3种最重要的方法如表7。

表7 衡量速度和可靠性

选择的CDN服务提供商应具有较大的网络容量,拥有的服务器越多,可以更快、更可靠地交付内容,更多的服务器等于更少的缓冲,更大的冗余,更大的可伸缩性(图5)。由于最终用户通过CDN连接到站点,因此需要确保最大的正常运行时间和网站系统的可用性。

图5 网站加速原理示意图

3 CDN与系统安全性

DDoS攻击是最常见的网站系统攻击方式,为了系统的安全性,需要有适当的缓解措施。CDN网络体系架构防御在网络层发生的DoS攻击需要,该体系架构吸收大量攻击流量,并过滤所有主要攻击流量,以便仅让正确的Web流量进入网站系统,在实际应用过程中,每个业务内容有所不同,需要不同的解决方法。

3.1 安全关键问题

网站的安全问题主要考虑以下几个方面,如表8。

表8 视频内容2种分类

电子商务和流媒体对网站的性能要求更高。流量越多攻击类型越多,则需要的规则越多,所需的硬件也就越多。需要针对不同的性能和安全性而设计的不同的解决方案。

3.2 CDN与DDOS安全

现在的网络中,网上机器人自动访问的数量仍然超过在线实际用户人数,占互联网流量的56%,而真实用户只占44%。恶意或恶意网上机器人程序所占流量比有用的机器人程序要多,占网站流量的29%。有利机器人访问占网站访问量的27%。由于机器人程序造成的虚假广告流量的流行,广告客户每年因欺诈而损失的广告收入占据了较大比重。

由于CDN使用位于全球不同地区不同数据中心的代理服务器,因此这种分散的基础架构提供了更安全的网络。在反DDOS方案中,基于云的服务位于企业数据中心之外,在流量到达企业基础架构之前对其进行保护[4]。基于云的反DoS / DDoS服务主要有2种类型:一是将可疑流量路由到可过滤掉恶意流量的集中式位置,利用CDN吸收和检查跨分布式网络的恶意流量的网站保护服务;二是用服务器来屏蔽网站和应用程序,这种方案的另一个优点是显著减少对设备和基础设施的投资,也减少硬件解决方案的管理成本[5]。由DDoS攻击引起的过载将根据其来源在不同的PoP上进行处理,这有助于防止服务器连接过载。许多CDN提供程序还将阻止威胁并限制滥用的暴力搜索器和爬虫工具来浪费业务带宽和服务器资源,这将减少垃圾邮件和黑客攻击。

4 系统综合加速

4.1 视频流传输

视频流是当今最大的大趋势之一,是最受欢迎的内容格式。视频作为信息的表现形式与其它网页内容的本质是不同的(表9),因为用户(通常)想要立即观看而不希望以后下载和观看(不同于必须先下载和安装应用才能使用)。

表9 视频内容2种分类

与分发其他类型的内容相比,使用CDN分发视频方法有所不同,点播加速原理如图6。

图6 点播加速原理示意图

用户希望立即观看视频,较小的信息块是几秒长的视频内容,可以以不同的质量(高、中、低比特率流)下载,画质会影响传输媒体的大小,下载块的大小取决于检测用户的带宽以及用户用于流式传输视频的设备的技术规格,确定可下载块的大小和质量的过程将由系统自动完成。

图7 直播加速示意图

ABR的主要优势在于基于HTTP,针对http在Internet上的出色性能进行了优化,同时与CDN兼容,视频内容可以存储在CDN交付节点中,用户访问起来更加快捷[6]。ABR已实现在各种平台和操作系统上使用,其中MPEG-DASH是跨不同设备和移动网络使用的国际标准化比特率流技术(表10)[7]。

表10 视频流CDN实现技术

尽管ABR和HTTP流的出现,但仍需要实时视频传递,因为实时视频无法像以前记录的内容一样被缓存。与直接下载相比,渐进式下载是一个不错的选择,在直接下载中,整个视频片段需要先下载到查看者的计算机上才能观看。对于下载游戏或计算机应用程序是可以接受的,但是等待看内容的观众的容忍度较低,尤其是电影之类。

迄今为止,最好的解决方案是HTTP流传输,它与自适应比特率(ABR)编码和传输紧密结合。HTTP流使用通用HTTP服务器(通常基于Apache或Windows Server)来提供点播视频文件,其方式与传递其他HTTP网站内容(例如图像和文本文件)的方式相同。将自适应比特率添加到CDN,该CDN会将视频流转换为片段或块,长度通常为2-10 s。ABR以各种比特率创建离散流,然后使用来自互联网用户视频播放器的反馈来动态检测用于交付视频剪辑的最佳网络速度。流服务器在请求时传送内容,但仅传送请求的块而不是整个长度,这对于按节点来交付的网站系统很有用,因为不管观看者的网速如何,用户中途放弃播放片段不会下载整个文件。

4K Ultra HD作为技术的最新趋势之一影响越来越广。新的分辨率格式正在开始重新构建视觉媒体行业在未来几年的发展方向,消费者希望获得高质量和高分辨率,而媒体公司则希望在任何地方都能获得他们的超高清录像和现场直播。目前移动用户浏览是增长最快的,也是以后视频传输的大趋势,正在取代台式PC(图8)。

图8 HD与4K图像比较图

高带宽连接对于4K的广泛普及至关重要,4K视频流的数据负载很大,持续覆盖可靠的超高清4K流所需的最低25 Mbps,随着4K的快速扩展和高分辨率流传输,CDN的应用会不断增长。

4.2 新兴市场CDN

“前沿市场”一词用于经济发展水平低于“新兴市场”的发展中国家,在这些国家,中国和印度被认为是最大的经济体。中国拥有超过8亿互联网用户,是世界上最大的互联网用户国家,占全球20%的用户比重,其中98%的是移动用户。向移动用户提供在线内容面临许多挑战,包括独特的互联网基础设施和日益增长的移动用户群,通过部署CDN可以解决这些问题。

据国际公司预测,到2026年,印度的电子商务市场预计将增长到2 000亿美元。该行业的大部分增长是由互联网和智能手机普及率的提高引起的,到2021年,印度正在进行的数字化转型将使印度的总互联网用户群从2018年12月的60 421万增加到8.29亿。

CDN允许访问提供Web数据和Web内容的各种服务器,对于向IT基础设施不完善的国家/地区提供最佳的内容非常有用,同时可以从源服务器到最终用户提供最大的用户体验,内容及时可靠。

4.3 多CDN网站系统加速

通过在云上加载各种服务器轻松平衡网站的可用性和性能,使用多个CDN优势更为明显,因为提供商在不同的地理区域表现不同,同时提供不同优势的功能和策略。

多CDN技术优点主要表现在以下几个方面。

1)扩展到新地区新市场:通过使用位于不同数据中心的整个服务器网络的不同位置,可以让所有Web用户迅速访问,不管用户地理位置上在哪里,只要通过切换到性能最好的CDN[8]。

2)系统永远不会崩溃:网站的停机对业务造成了严重损害。1/4的用户将离开,再也不会回来,其余的人极不可能再次信任,如果使用单个云提供商,可能面临断电导致的短时间或更长时间的系统中断。

3)业务控制:通过协调多个CDN提供商,可以设置确切的标准(例如1天中的时间),以确保用户始终能快速搜索到所寻找的内容,多CDN会自动切换到最佳性能的CDN节点。

4)无需抑制业务:在使用多CDN提供多媒体内容时,不必花过多的时间在业务抑制方面,把时间用在设计既有吸引力又可以立即为用户使用,通过协调不同的CDN业务,将能够管理所有流量高峰,消除带宽压力和内存密集型业务。

4.4 CDN和DNS结合

将DNS与CDN配合为网站提供更好的性能、可靠性和灵活性。DNS是通过将人性化的计算机主机名转换为IP地址。用户访问网站首次一般都是从DNS开始的,但是如果DNS查询失败,则无法访问该网站。DNS解析可能占初始页面加载时间的29%。DNS较差意味着页面加载缓慢,导致用户不满意,最终导致业务损失。

组合的DNS / CDN解决方案可确保网站的最佳性能,将其配对交换到新的CDN实现端点之间的负载平衡,将流量分布在多个CDN和端点上以优化网站的性能,确保系统可用。大多数CDN提供商都部署独立的DNS基础架构,但是在灵活性、性能和可伸缩性方面,CDN提供商无法与专业DNS相比较,只能作为完善补充。托管DNS解决方案专门设计用于扩展网站的性能和可靠性,非常适合各种规模的系统,可提供全球化的服务,并使用高级负载平衡和路由技术来最大程度地减少延迟(图9、图10)。

图9 节点有缓存场景HTTP请求处理流程图

图10 节点无缓存场景HTTP请求处理流程图

5 性能监视和网站速度测试

5.1 CDN和Web性能监视

CDN提高网站性能,提供了改善网站用户体验的加速服务。分析网站特定性能方法很多,最重要的基准如下。

1)服务器端性能监控:这种测试方法模拟最终用户的数据请求,然后测量网页响应请求的速度。尽管这对于确定响应速度很有用,但并不是完美的。因为这种方法通常只测量传递初始文档文件所花费的时间,而忽略了诸如图像,CSS文件和JavaScript之类的文件,这种类型的测量非常不可靠,并且在许多情况下可能比实际的加载速度快几秒。

2)综合交易监控:为了克服服务器端监视缺陷,使用综合交易监控的方法,结合了仿真和真实的浏览器,测试来自许多不同位置的预定义数据请求,虽然这被认为是尽可能接近实际终端用户性能的一种方法,但也因准确性而受到困扰,因为不能从特定用户所在的确切位置准确地发出请求[9]。

3)衡量部分用户的性能:这种方法是衡量网站性能的更准确的方法,尤其是与前2种方法相比,通过选择最终用户并测量最终用户访问页面所花费的时间,使用这些结果的平均值来概括CDN的速度。

4)评估每个最终用户的性能:这是衡量网站性能的最准确方法。通过测量整个网络和所有用户的所有实际事务处理时间,从服务器、网络和应用程序角度记录响应时间[10]。使用“最后一英里”的测试来衡量最终用户的真实体验和CDN性能,测量内容从CDN服务器到最终用户设备的传输速度,结合交付内容所需的最后一站连接服务,提供有关最终用户体验的更准确的数据,测量更现实。

5.2 网站速度测试和CDN

网站和页面速度测试用于确定特定页面或整个网站的速度,页面速度衡量的是URL上的内容加载所花费的时间,是网站的整体效果的集中体现[11]。搜索引擎渠道也会对加载缓慢的网站造成一些不利影响。网站速度是获得良好用户体验的关键因素,对每个网站系统都很重要,尤其是对于电子商务网站和具有国际影响力的大品牌。CDN通过在世界各地的多个位置缓存内容来提高网站的速度,其缓存服务器通常比主机或原始服务器更靠近最终用户。

下一代CDN,可以加速Web和移动应用程序,将内容推向最前沿以获得最佳的最终用户体验,网站系统数据中心的分布到全球网络中,通过智能缓存、内容和网络优化提供了完整的站点加速[12],同时通过与不同的服务提供商合作,提供功能强大的CDN,利用策略定位到全球网络中的服务器,通过使用户访问内容与网站访问者保持更近的距离,从而缩短内容往返时间(RTT)[13]。CDN还可以压缩文件以确保优先访问最常见的文件并将其直接提取到用户浏览器中。

6 结束语

视频流需求以及内容提供商的数量不断增长,CDN的发展试图应对极端的带宽压力。随着云计算的出现,CDN已成为涉及云计算所有层的持续趋势[14],CDN未来的主要目标是性能、可用性和安全性。CDN的未来目标之一是开发可预测基于机器学习的行为模式的预测分析和算法。

网站或系统通过CDN服务来加快图像、文件和其他媒体等内容的传输,提高搜索排名。现在流媒体时代已经开始,用户希望获得最高质量、完美的视频图像和快速的处理速度。搜索引擎会对加载时间太长的网站造成不利影响,按地理位置优化投放速度不仅提高加载速度,还提高查看者的质量,并保护网站免受服务中断的影响。目前,网站的性能和移动友好性已成为一切,系统唯一的选择就是提高系统访问质量,确保网站最重要的方面始终处于运行状态,并以可交付性、速度、可用性、故障转移和Web安全性作为网站系统加速的主要推动力。

猜你喜欢
服务器速度节点
CM节点控制在船舶上的应用
行驶速度
速度
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
得形忘意的服务器标准
比速度更速度——“光脑”来了
计算机网络安全服务器入侵与防御