如何选择CDN?寻找 WordPress 的最佳 CDN 服务

目录


右键点我复制链接地址,分享页面有积分。


如果您的网站面向广泛的国际用户,例如 外贸站,Google Analytics 无疑会显示您散布在世界各地的国家/地区的客户。还有一种可能是,您的读者仅来自一个大陆:无论是美洲、欧洲、亚洲、大洋洲还是非洲,他们仍然需要跨越很长的距离才能到达您的源服务器!

每当一个网站旨在覆盖广泛的国际受众时,其与源服务器的距离都是网络性能的关键因素之一。

因此,如果您的服务器位于纽约,但您的读者来自旧金山、新德里或墨尔本,您如何缩短距离并让所有人以相似的速度从您的内容中受益?

答案是使用 CDN :一座让用户更接近他们正在访问的网站的桥梁,无论他们身在世界何处!


什么是内容分发网络 (CDN)?

缩写 CDN 代表内容交付网络:CDN 在您网站的源服务器和访问者位置之间建立一个全球分布式边缘服务器网络。

一旦有人通过这个网络首次访问您的网站,边缘服务器就会保留静态内容(图像、CSS 和 JavaScript 文件)的副本,然后将其传递给最终用户,使他们能够访问内容快得多。

用户发出的每个 HTTP 请求都将从尽可能最近的位置提供服务,无论他们位于何处。 

CDN 如何工作?

假设托管您网站内容的服务器(源服务器)位于马德里,但您收到来自布宜诺斯艾利斯的用户的大量访问。

每当您的阿根廷用户请求一个页面时,其中包含的所有资产都必须从布宜诺斯艾利斯传输到马德里。然后服务器必须将资产发送回布宜诺斯艾利斯的用户。这快不起来。

from-madrid-to-buenos-aires
资料来源:Google Maps

与上图相反,这不是“直飞”:在从西班牙到阿根廷的旅程中,他们还必须沿途经过一系列路由器。

每个路由器都必须处理该请求。

因此,每次阿根廷访问者想要访问您的网站时,有两个因素会影响最终确定请求所需的时间(延迟):

  • 布宜诺斯艾利斯 到 马德里 的总距离
  • 途中每个路由器处理请求所花费的时间

当源服务器收到请求并响应用户,向他们发送回他们要求接收的内容时,也会发生同样的事情。

这个往返时间以毫秒为单位,称为RTT(往返时间)。

CDN 的主要目标是减少延迟和 RTT。

由于 CDN 是由全球分布的服务器网络构建的,每次阿根廷访问者请求您的内容时,他们都不会从西班牙收到该内容。 

组成 CDN 分布式网络的边缘服务器已经拥有网站内容的缓存版本:每当用户请求时,它们都可以快速、安全地提供。

这样,往返时间就减少了,因为 CDN 可能在南美有不同的边缘服务器,比马德里近得多!

以下图作为参考:

CDN-Network-examples
Credits: Kanoha, Own work – CC BY-SA 3.0

在左侧,所有最终用户都从同一服务器接收内容:只有从中央位置传输每个 HTTP 请求后,用户请求的网站才能访问。

在右侧,相同的内容现在通过不同的边缘服务器传送,并链接到原始服务器。距离更短,这意味着加载时间得到优化,最终用户将能够比以前更快地访问网站。

如果您认为网站平均 80% 是由静态资源组成,您将更好地了解 CDN 如何为您的网站带来好处。

“拉”和“推”CDN 有什么区别?

大多数 CDN 服务提供两种不同的技术将静态文件分发到边缘服务器:

  • 通过拉取区
  • 通过推送区

什么是拉取区?

“拉区”区域(或“拉取 CDN”)是一种从站点“拉取”静态资源的技术,这意味着它将自动将文件从站点导入到 CDN 缓存。

如果您需要提供小尺寸静态文件(例如 CSS 样式表、JavaScript、文本、PDF 或图像),拉取区域通常可以快速设置并代表理想的解决方案。所有文件都必须可通过 HTTP 请求访问。

什么是推送区?

“推送”区域(或“推送 CDN”)不会自动导入任何文件,但您的站点必须将它们上传(推送)到 CDN。文件推送后,该区域将与网络的边缘服务器同步。

我们可以将推送区域视为一种存储内容的存储库。 

如果您要提供大型资源(例如大型文件存档、软件更新或任何其他大于 10MB 的文件),推送区域是理想的解决方案。如果您提供不热衷于更改的文件(例如 PDF 文档、图片库等),它也很有用。

为什么CDN上线后静态文件的URL会发生变化?

如果没有 CDN,静态文件的 URL 路径将类似于:href="http://yourdomain.com/wp-content/uploads/image.jpg

但是当您启用 CDN 时,它们会发生变化,变成类似以下内容:https://cdnzonename-cdn.com/wp-content/uploads/image.jpg

其中第一级域名cdnzonename-cdn.com是您的 CDN 服务提供的 CNAME(因此它可能会因您正在使用的 CDN 而异,并且通常可以自定义)。

发生这种情况是因为静态文件不再来自您的源服务器:第三方服务器正在加载它们,这证明 CDN 网络现在正在负责静态资产的交付。

您是否应该使用 CDN?

如果您的网站打算接收来自远离服务器的位置的大量访问,那么采用 CDN 是实施 Web 性能优化策略的基本步骤。

所以,毫无疑问,您应该使用它。


为 WordPress 网站使用 CDN 有什么好处?

我们已经介绍了采用 CDN 服务带来的一些好处:首先是应用第二层缓存并减少延迟和 RTT。

但其他三个因素使 CDN 对于您的网络优化策略来说非常有利可图。让我们详细看看它们: 

1. CDN 缩短首字节时间 (TTFB)

Time to First Byte表示服务器的响应时间。

它测量服务器加载网站 HTML 以便客户端可以开始呈现页面所需的时间。

简而言之,这是最终用户在他们请求的页面开始在浏览器上显示之前必须等待的时间。

网络延迟是导致首字节时间增加的因素之一(以及服务器配置、服务器性能和 DNS 响应时间等其他因素)。

正如我们所看到的,启用 CDN 后,边缘服务器将缓存静态内容,从而减少延迟。

因此,从逻辑上来说,CDN 可以有助于缩短首字节时间。

有关可用于减少 TTFB 的技术的更多信息,请阅读我们的指南如何减少第一个字节的时间并更快地加载 WordPress 网站。

2. CDN 降低带宽成本

带宽是从您的网站传输和下载的数据量。

托管提供商为您提供预定的带宽,该带宽已包含在您的计划中。

CDN 可以降低带宽成本,因为它们减轻了托管系统的负担:由于您的静态内容是通过 CDN 缓存的,因此您的源服务器不必将这些数据传输给最终用户。

最终的效果是CDN 减少了通过源服务器的流量,并避免了托管带来的额外带宽费用。

3.CDN 为您的网站添加安全层

根据NexusGuard 的最新报告,连年来 DDoS 攻击规模的增长相当可怕!

分布式拒绝服务 (DDoS) 攻击是一种恶意尝试,通过同时发送多个外部请求来淹没目标服务器的容量。这些攻击就像一场严重的交通拥堵导致高速公路崩溃,目标服务器就是那条最终无法使用的拥堵道路。

traffic jam in network

由于 CDN 位于网络边缘,因此它可以为您的源服务器提供针对此类攻击和其他安全威胁的保护。发生这种情况是因为攻击引起的饱和是在不同的计算机上处​​理的,并且它不会到达保持正常运行和可用的托管服务器。

这对于流量高峰可能使您的网站遭受损失的任何其他情况也有效:内容可用性的增加是您的用户会欣赏的优势。

那么,CDN 对 SEO 也有好处吗?

如果您认为 Google 喜欢快速且安全的网站,我们确实可以确认,在您的网站上启用 CDN 也有利于 SEO 和 PageSpeed Insights 性能得分。事实上,使用 CDN 可以提高最大内容绘制分数——核心网络生命指标之一。

当 CDN 在您网站的后端运行时,您的内容加载速度更快,并且即使在高流量负载下也保持可用:Google 会注意到这些细节,并将它们视为提高您排名的一个因素!


如何选择最适合您需求的 CDN?

选择CDN服务时,需要考虑四个因素:

  • 访客的主要位置
  • 您的带宽要求
  • 您网站的大小
  • 您的预算考虑

这四个要素对于选择最能满足您的需求和受众的 CDN 至关重要。让我们看看哪些是最受欢迎的 CDN 服务以及它们有何不同:

Cloudflare

Cloudflare-homepage

Cloudflare 将自己定位为 CDN,即使对其服务最准确的描述是反向代理。 

Cloudflare 的网络由分布在世界各地的 155 个数据中心提供支持,其中包括位于中国的多个数据中心。 

它们缓存您的静态内容并使用任播网络,传入的请求可以通过不同的位置共享并重定向到最近的网络路由器。此外,它们还提供了许多有趣的功能,例如负载平衡、缩小和 Rocket Loader 等。

关于定价,Cloudflare 是最受欢迎的 CDN 选项之一:他们提供免费计划(非常适合个人网站和博客)、专业计划(20 美元/月)和商业计划(200 美元/月)。

Amazon Cloudfront – AWS

Amazon-Cloudfront-homepage

Amazon CloudFront 是一个 CDN,拥有由 160 个中心组成的全球网络,遍布 66 个城市和 29 个国家/地区。

此 CDN 用作推送区域,这意味着您可以使用它来交付所有网站内容,包括动态资产。它还提供了一个 API,您可以通过该 API 自定义其行为、配置多个源服务器并维护您的 CloudFront 发行版。

定价方面,按照服务的实际使用情况收费;但他们还提供名为 AWS Free Tier 的免费版本,其中包括一年内每月 50GB 数据传输、2,000,000 个 HTTP 和 HTTPS 请求。 

难以在 Cloudflare 与 CloudFront 之间做出选择?阅读我们的指南Cloudflare 与 Cloudfront,我们将帮助您为您的 WordPress 网站选择最佳的 CDN。

Imperva Incapsula

Imperva-CDN

Imperva(原Incapsula)CDN网络由欧洲、北美、澳大利亚、印度和东南亚的44个数据中心组成。 

它们以其企业目标安全性而闻名,因为它们提供了许多安全功能,例如 Web 应用程序防火墙 (WAF) 和 DDoS 缓解。
它们还提供负载平衡和优化功能,例如内容缩小和动态文件压缩。

KeyCDN

KeyCDN-homepage

KeyCDN 是一个小型内容交付网络,拥有 34 个数据中心,专注于高性能和速度。 

它们提供了一些有趣的功能,例如地理位置路由、定制 TCP 堆栈和任播网络。您还可以自定义其用途并创建拉动区域和推动区域。

他们的定价包括无限制的 HTTP 和 HTTPS 请求以及即用即付结构,欧洲和北美起价为 0.04 美元/GB,亚洲起价为 0.12 美元/GB,澳大利亚起价为 0.16 美元/GB。

StackPath(原 MaxCDN)

StackPath-CDN-homepage-1024x376

StackPath 是一项专注于安全的服务,于 2016 年收购了 MaxCDN。

MaxCDN以其可靠的网络而在市场上颇受欢迎;自收购以来,该服务可以从 StackPath 的各种安全功能中受益,例如高级 DDoS 缓解、访问控制和内容保护等。

它们通过 EdgeRules 技术提供直接平台控制,使您可以监控内容在每个边缘服务器上的行为方式。

Akamai

Akamai-homepage

Akamai 可能是大型企业和企业使用最多的 CDN 服务,也是市场上最古老的服务之一。

他们以其强大的基础设施和快速的网络而闻名于世。它们经过多年的发展,不再是简单的 CDN 服务:它们将自己定义为“一个基于云的平台,使您的网站和应用程序更接近最终用户”。 

他们可以依赖分布在 1300 多个地点的十万多台服务器。

他们的定价结构遵循按需付费的模式,根据需求计算价格。

CDN77

CDN77-homepage

与迄今为止描述的其他解决方案相比,CDN77 非常年轻:它们于 2012 年推出,现在拥有 32 个数据中心。

尽管年龄很年轻,但他们是第一个提供 HTTP/2 支持(现在几乎每个 CDN 都包含)和 Brotli 压缩的 CDN。他们还提供广泛的功能,如软件分发、直播、视频点播、私人 CDN 以及持续游戏交付的特殊服务。

他们的定价结构是即用即付,1GB 起价为 0.049 美元(费用因国家/地区而异),或包月计划,起价为每月 199 美元。

Google Cloud CDN

Google-Cloud-CDN-homepage

Google Cloud CDN 服务利用 Google 在世界各地的分布式边缘存在点。

它缓存 HTTP 和 HTTPS 负载平衡内容,通过 Anycast 网络保证低延迟,立即清除缓存,并可以与Google Stackdriver集成以接收详细的请求日志记录。

但关于 Google Cloud CDN,您应该了解的最重要的一点是,它仅在您将网站托管在Google Cloud Platform (GCP) 上时才有效。如果您不在 GCP 之外,则无法使用他们的 CDN,因为他们不支持外部来源。

Google Cloud CDN 价格取决于您的使用情况,如定价表中所述。  

RocketCDN

最后,RocketCDN 是具有专用 CNAME 的高级优化 CDN。借助 Bunny CDN API,RocketCDN 直接被集成到 WP Rocket 中。

Bunny CDN 作为RocketCDN定制 CDN 服务的骨干。这意味着您将获得所有相同的优势,您的网站文件将被复制到 120 多个边缘位置。

Bunny CDN 和 RocketCDN 有什么区别?

不过,与 Bunny CDN 不同的是,RocketCDN 不会根据您的使用情况向您收费。相反,您只需为每个站点支付 7.99 美元的月费即可获得无限带宽,从而以合理的成本为您的网站提供更快的速度并减少服务器负载。

加快网站速度的其他重要因素:



评论

发表回复

必填项已用 * 标注