什么是 CDN 及其工作原理

您是否正在尝试了解什么是 CDN 及其工作原理?CDN(内容交付网络)确保所有国际访问者在访问网站时获得相同的速度体验,无论他们身在何处。在本深入指南中,您将了解 CDN 的工作原理、如何使用它以及为什么需要它来提高性能。

什么是 CDN?

CDN(内容交付网络)是一组战略性地分布在世界各地的互联服务器,用于尽快交付 Web 内容。

这些服务器称为接入点 (PoP),并使用缓存来临时存储内容的副本,因此用户可以通过更近的服务器更快地访问它。它旨在使文本、图像、CSS、JS 文件和 Web 字体等静态资产更接近网站的访问者。

hats-a-content-delivery-network-CDN-Source
什么是内容交付网络 (CDN)


CDN 根据距离、PoP 可用性和连接速度将内容引导至特定的 PoP。有两种方法可以交付内容:

  • “拉取方法”是 CDN 负责提取要交付给访客的正确内容的位置。
  • “推送方式”允许用户通过手动上传将特定内容推送到 CDN。


关键术语

  • 源站服务器:包含原始网页的服务器。
  • PoP/边缘服务器:位于世界各地的数据中心,用于缓存从源服务器检索的内容。
  • 缓存:存储文件的副本,以便下次访问时可以更快地访问它们。

CDN 的工作原理

为了说明 CDN 的工作原理,我们可以想象一个电子商务网站,其服务器位于巴黎,但访问者愿意从澳大利亚访问该网站。让我们看看 CDN 对内容交付的影响:

没有 CDN

对于每个资源(文本、CSS 文件、JS 文件和图像),请求都会从澳大利亚的用户设备发送到巴黎的服务器。客户和服务器之间的距离过长会导致加载时间更长。

HTTP-requests-going-from-Australia-to-Paris-No-CDN-Source
从澳大利亚到巴黎的 HTTP 请求 – 无 CDN

使用 CDN

CDN 缩短了澳大利亚与巴黎服务器之间的距离。它不是从巴黎一路交付内容,而是通过澳大利亚的接入点 (PoP) 交付内容。因此,CDN 可以更快地为澳大利亚客户提供内容。

HTTP-requests-staying-in-Australia-thanks-to-PoP-servers-With-a-CDN-Source
由于 PoP 服务器,HTTP 请求“停留”在澳大利亚 – 使用 CDN

CDN 将内容同时放在多个地方,为用户提供卓越和更快的覆盖。但是如何衡量 CDN 对性能的真正影响,以及需要关注的主要指标是什么?


为什么 CDN 对性能很重要

使用 CDN 来减少用户尝试访问网页时的等待时间非常重要。

CDN 使用边缘计算,这是一种分布式系统,由于缓存,它使计算和数据存储更接近数据源。目标是通过有效地将内容分发给世界各地的用户来提供高性能和可用性。CDN 将内容临时存储在接入点 (PoP),从而减少延迟并更有效地将相同的内容交付给多个用户。

CDN 性能指标

为了更好地了解 CDN 与网站整体性能的关联,需要掌握 4 个重要的 CDN 指标。

1. 往返时间 (RTT)

往返时间是衡量网络延迟和页面加载时间的关键指标之一。RTT 是响应在客户端请求后到达客户端设备所需的时间。

RTT-Source
RTT

如果 RTT 过高,将发生超时,从而降低性能。CDN 会降低 RTT,因为用户的请求由本地 PoP 而不是源服务器处理。

如何轻松计算 RTT?它是服务器的平均往返时间加上到客户端的平均往返时间。

因此,CDN 减少了缓存服务器和用户设备之间的数据传输时间,从而缩短了页面加载时间。核心思想是为远离服务器的用户获得更快的页面加载速度和更低的带宽成本。

2. 生存时间 (TTL)

生存时间 (TTL) 是一段数据在删除之前应存在于计算机或网络上的时间段。在 CDN 的上下文中,TTL 是指内容缓存,即在接入点 (PoP) 存储网站资源副本的过程。它有助于防止数据在路由器的路径中无限循环。

CDN 使用 TTL 来确定在从源服务器获取新副本之前,缓存的内容应在 PoP 中存储多长时间。这种优化技术允许 CDN 在更靠近用户的地方提供内容,同时减少带宽。

3. 缓存命中率 (CHR)

缓存命中率衡量 CDN 从缓存中提供资源的效率。缓存命中率定义为缓存命中数除以缓存命中和未命中总数。

Cache-hit-ratio-Source
缓存命中率

如何解释结果

  • CHR 为 0:新启动的缓存
  • CHR 为 95-99%:理想分数

一个好的 CDN 提供商应该为您提供有关您的缓存命中率的分析和报告。

4. 首字节时间 (TTFB) – 网络延迟

网络延迟(也称为滞后)用于描述网络通信的延迟。为了测量它,首字节时间 (TTFB) 是一个有用的指标,因为它告诉内容从客户端传输到服务器再传输回来的速度。简单来说,TTFB 只是测量这个 “等待时间”。

高延迟(或高 TTFB)的第一个原因是距离。 因此,使用 CDN 将通过最小化该距离并帮助在访客屏幕上更快地交付内容来改进 TTFB 指标。

Network-latency-explained-Source
网络延迟

CDN 如何提高网络性能

1. CDN 优化最大的内容绘制 (Core Web Vital)

最大内容绘制 (LCP) 是衡量网站加载性能的核心 Web 指标。它表示最大的元素需要多长时间才能在用户的屏幕上可见。高 LCP 通常是由服务器响应时间慢引起的,导致 Round-Trip-Time 和 Time-to-First-Byte 都很高。如果服务器发送用户请求的内容的时间过长,Google 会惩罚该网站并给出糟糕的 LCP 分数。在这种情况下,CDN 有助于确保尽快在全球范围内交付最大的内容。

2. CDN 解决高优先级 Lighthouse 建议

使用高效的 CDN 将修复两个 Lighthouse 建议,即:

CDN 将静态资产缓存在接入点中,为全球用户提供同等速度的体验。

  • 启用文本压缩

文本压缩(例如 GZIP 压缩)可降低带宽成本并为用户提供更快的体验。这可以直接应用于源服务器,也可以在 PoP 服务器上即时压缩。

使用 CDN 还将修复以下自定义 GTmetix 建议:

  • 使用内容分发网络

GTmetrix 鼓励用户将他们的网站与 CDN 集成,以加快他们的资源速度。

Lighthouse-report-without-a-CDN-Source
没有 CDN 的 Lighthouse 报告

3. CDN 获得更快的 HTTP 请求

使用 CDN,HTTP 请求的交付速度更快,主要有两个原因:

原因 #1 – 如果 CDN 通过 HTTP/2 提供资产,那么速度会提高并减少往返时间 (RTT)。HTTP/2 是一种更安全的协议,它使用二进制代码而不是明文。在这种情况下,网页的标题只需发送一次,从而缩短了加载时间。

原因 #2 – 在 WordPress 网站上部署 HTTPS 可以增加页面的一些加载时间。事实上,一旦安装了 SSL 证书,HTTPS 需要比常规 HTTP 协议更多的握手。这个耗时的阶段可以通过 CDN 及其边缘证书进行优化,从而减少 SSL 握手的开销。


如何使用 CDN 并将其连接到网站

使用 CDN 并将其连接到网站取决于网站最初的托管方式和方式。有三个选项。

  • 通过托管服务提供商

如果网站由 Kinsta 或 Bluehost 等高端提供商托管,那么他们可能会提供内置 CDN 或作为额外服务。例如,Kinsta 免费提供 CDN,并默认为所有计划启用它。在 cPanel 中,有一个选项可以直接激活或停用 CDN:

Kinsta 的仪表板

关于使用高端托管服务提供商的 CDN 的注意事项:其中一些实际上是“反向代理”,而不是实际的 CDN。

  • 通过 CDN cPanel(手动配置)

要设置最流行的 CDN 提供商,如 Cloudflare 或 Bunny CDN,在各自的 cPanel 中需要遵循一些技术步骤:

兔子 CDN cPanel

第 1 步 – 在 CDN 网站上创建一个帐户

第 2 步 – 添加需要连接到 CDN 服务的站点 URL

第 3 步 – 确认并设置您的 DNS 记录

第 4 步 – 更新名称服务器以指向 CDN(CDN 将提供一组新的名称服务器来替换现有名称服务器)

第 5 步 – 配置一些基本选项(例如 SSL/TLS 加密模式)

第 6 步 – CDN 已激活

  • 通过 CMS(最简单的方法)

例如,WordPress 插件有助于优化 CDN 设置并直接通过 WordPress 仪表板访问所有选项。只需使用 CDN 公司提供的 API 密钥下载站点并将其连接到 CDN。

如何检查 CDN 是否真的有效

检查您的 CDN 是否已正确安装,可以验证集成过程是否成功。有三种简单的方法可以检查 CDN 是否正常工作:

  1. 通过右键单击页面来检查网站的 “Page Source”。
  2. 通过运行性能审计,与 CDN 相关的警告应该会消失,并且 LCP 指标应该会更好。
  3. 通过检查来自不同位置的网站的速度。

下一部分解释了为什么用户应该考虑通过 CDN 分发内容。


为什么使用 CDN

如果网站处于以下两种情况之一,CDN 将特别有用:

  1. 它接待来自不同国家的国际访客
  2. 它的源服务器资源不足。在这种情况下,将静态文件通过 CDN 将有助于减轻该服务器的重量。

网站应该连接到 CDN 的主要原因有 4 个。

#1 性能

使用 CDN 网站运行得更快,这主要是由于缓存。内容存储在最靠近国际用户的缓存服务器 (Point of Presences) 上。请求是从这些数据中心拉取的,而不是从源服务器一直拉取的。

此外,除了性能因素之外,使用 CDN 还有一些其他优势。

#2 搜索引擎优化

需要强调的重要一点是,如果设置正确,使用 CDN 不会影响您的 SEO。相反,在搜索引擎优化方面,页面速度是影响页面排名的关键因素。

#3 可靠性、正常运行时间和安全性

例如,CDN 可以成为一种防火墙,以保护网站在 DDoS 攻击期间不宕机。最重要的是,CDN 通常通过 HTTPS 提供文件,这是一种在服务器和用户浏览器之间交换数据的安全方式。还应该可以将 SSL 证书添加到您的内容交付网络 (CDN) 中,以便用户甚至可以通过 CDN 建立安全连接。

通过安全连接提供数据可以提高正常运行时间和可靠性。

#4 降低带宽成本

Web 托管服务提供商通常对从源服务器传输到用户设备的数据量收费(称为“带宽限制”)。由于 CDN 将内容缓存在 PoP 中,因此数据需要的来回到源服务器的数量更少。主机服务器请求较少,从而降低带宽成本。事实上,CDN 将处理您网站总带宽的 60% 以上,从而减轻源服务器的压力和负载。



评论

发表回复

必填项已用 * 标注