如果你一直听说CDN可以提高性能,但从未理解为什么,那么这篇文章就是为你准备的。
在本文中,我们将深入探讨CDN的关键特性,了解它们如何在底层工作以提高性能。
我们将涉及CDN的五个方面:
• 请求流程
• 地理位置
• CDN架构
• 请求路由
• TCP优化
什么是CDN?
在我们深入了解CDN的特性之前,让我们首先简要介绍一下CDN是什么,以及它的用途。
CDN代表内容分发网络,它是一种覆盖网络——建立在互联网网络之上的网络,旨在提高响应时间。通常,CDN用于传送静态内容,例如图像、视频、HTML、CSS等——基本上是您可以可靠缓存并从后端服务器卸载的任何内容。
有许多受欢迎的CDN,如Cloudflare和Amazon CloudFront,它们很容易集成到您的网站中以提高性能。
现在我们明白了CDN是什么以及为什么要使用它。让我们进一步了解它们如何提高性能。
CDN请求流程
首先,让我们看看CDN如何与HTTP请求流程配合。当客户端(浏览器、移动应用等)请求静态资产(如图像)时,它连接到CDN并尝试检索资源。
如果CDN有资源,则简单地从其缓存中返回资源。这提高了性能,因为客户端无需访问源服务器(您的Web服务器)来获取资源,还减少了服务器的负载。
但是,如果CDN没有资源,则代表客户端发出请求,并从您的服务器获取资源,将其存储在缓存中以备将来使用,并将资源返回给客户端。
对于经常访问的资源,应该很少出现缓存未命中,因为大多数资源最终会被CDN缓存。在某些情况下,甚至可以通过预先将预期客户端请求的资源推送到CDN来预热CDN,从而避免初始缓存未命中。这种技术也可以用于使过期的资源失效,并用新版本的资源替换。
CDN的地理位置安排
那么,客户端从CDN获取资源而不是从源服务器获取,为什么会提高性能呢?这是因为CDN的位置安排。
CDN拥有许多点(PoPs)——每个PoP由多个缓存服务器组成,分布在广泛的地理区域。其目的是确保每个客户端都靠近一个PoP,从而将内容更接近客户端,提高性能。
根据客户端与您源服务器之间的距离,性能提升可能会非常显著,并且还能减少服务器的负载。
CDN架构
CDN采用分层架构来实现尽可能高效的缓存性能。
最靠近客户端的缓存服务器代表边缘缓存,这些服务器最常见,但保存的内容较少。为了避免缓存未命中导致源服务器的调用,CDN使用中间缓存服务器存储更多内容,但数量较少。
这提高了缓存的性能,因为边缘缓存的缓存未命中并不总是导致调用源服务器,而且由于中间缓存较少,CDN无需将内容复制到太多服务器上,大大节省了带宽成本。
CDN路由
客户端从您的源服务器获取资源与CDN获取相同资源之间有什么区别吗?是的。我们将讨论两个主要区别,第一个是网络请求在互联网上的路由方式。
最佳的解释是通过图表来说明,让我们分析上面的图表。
互联网使用一种称为边界网关协议(BGP)的路由协议,它根据路径上的总跳数确定请求的最佳路径。它选择导致跳数最少的路径,即图表中的蓝色路径。
虽然这条路径跳数较少,但可能比具有更多跳数的其他路径具有更高的延迟。这就是CDN的优势所在。它们根据路径的预计延迟(通过诸如拥塞等指标监控)确定最佳路径。这导致CDN选择图表中的绿色路径,这是一条更优化的路径,意味着它可以更快地获取资源。
CDN TCP优化
CDN之所以能够比客户端发起的网络请求更快地执行,第二个原因是它们采用了TCP优化。
CDN会保持一组TCP连接处于打开状态,从而避免建立TCP连接的性能开销(可在此了解更多关于此开销的信息)。
此外,它们能够优化所使用的TCP拥塞窗口大小,从而增加请求的带宽,更快地获取资源。
总结CDN的特性
CDN提高了您网站的性能,因此在您的Web架构中考虑选择它们是一个不错的选择。我希望我们讨论的这些要点能够让您更好地理解它们实际上为何提高了您网站的性能。
AgileONE 是一款混合云管理平台,通过统一监控、自动化运维和费用管理,帮助企业构建高效的混合云管理体系。借助创新和专业技术,AgileONE 让云服务变得更加便捷,适合小型团队、创业公司和个人用户。
减少部署时间
AgileONE 将应用部署时间从几天缩短至几分钟,适应任何云环境和地区需求。这种高效的部署方式极大地提升了运营效率,让开发人员可以将更多时间投入到核心业务中。
提高运营效率
平台通过节省开发人员在云端配置和开发上的时间成本,显著提高了整体运营效率。自动化管理功能简化了流程,助力实时管理和有效决策,使用户能够专注于业务发展。
降低云计算成本
AgileONE 全盘掌握资源使用情况,帮助用户快速调整运维投入,降低云计算成本。智能优化成本支出结构,使资源使用情况一目了然,有效控制预算。
高可用性和可扩展性
平台为不同服务提供专业的 SaaS 和容器化服务,确保业务快速执行和上线。高可用性和可扩展性保障了业务的连续性和灵活性,让用户无后顾之忧。
自动化管理
AgileONE 通过自动化控制和监管,简化了云管理流程,助力实时管理和有效决策。用户可以轻松进行日常管理任务,提高运营效率。
为什么选择 AgileONE?
作为甲骨文OCI, 阿里云, Azure等国际一线云服务厂商合作伙伴,AgileONE 提供专业的解决方案和优质服务体验,帮助客户轻松快捷地使用云产品和服务。平台提供从注册到下单的一站式服务,确保账号安全,专属渠道更享受优惠,值得信赖。团队拥有十余年云计算技术经验,并提供 7*24 小时技术支持,全方位保障用户需求。 点击这里,即刻登录平台,体验高效便捷的云管理服务!