用Azure CDN提升WordPress

尺寸 表现问题!我们都知道,你在第一秒钟内留下的第一印象是什么,在第一秒钟内,将很难改变或赢回。与现实世界一样,这同样适用于万维网(www),慢动网留下留下糟糕的印象。让我们的博客作为一个例子,它在欧洲托管的Wordpress上运行。正如我们想要更多人的内容,而不是当地的内容,在我们上网之前,表现就是一个重大优先事项。

WordPress. 权力在世界上推出的100个网站的14.7%。

W3Techs.

如前所述,我们的网站/博客的内容不限于欧洲,为什么我们需要全球方法来确保每个人的良好表现。用于评估Azure内容交付网络(CDN)的用例出生。但是,让我们从一些背景信息开始,还有其他工作。

解决性能问题,或为风暴做好准备

作为第一行动项目,了解网站是多快(或慢)的理解。最着名的工具可能是那些 gtmetrix. , VSTS负载测试。作为一种准备,我们研究了以下两个主题:

  1. 优化图像: 最简单的是减少图像的大小。我们用 短旋 (可作为免费插件)并优化所有图像。这平均降低了文件大小60%,而不会明显劣化质量。
  2. 缓存内容: 至少在WordPress社区中的另一个非常众所周知的实践是缓存内容。我们决定使用插件 迅速表现, 这些天升起的星星之一。可用作免费和高级版本。

完成了我们的作业,我们用Pingdom进行了绩效分析,并以遵循的分数结束:

PingFOM速度测量
之前的性能指标,no-cdn

得分不是太糟糕,但考虑到来自美国的访客的负荷时间已经接近3秒,这并不是我们的观点的理想。您可以找到关于如何提高网站性能的各种文章和指南 - 例如, Johnny Nguyen. 在WordPress的性能调整中是知识渊博和经验丰富的。

好吧,正如我们为图像的优化所做的那样,实现高速缓存时,性能如何获得良好的提升;使用a 内容交付网络(CDN)。随着大多数内容都是静态的,它将是一个完美的候选人 包括 进入CDN。当然,我们决定使用 Azure. 为此,尽管许多也喜欢CloudFlare与他们的免费选择。

什么是内容交付网络(CDN)?

也许你没有’t之前听说过内容交付网络(CDN)。 CDN是全球提供内容的解决方案。 CDN充当地理分布式缓存,并提供加载Internet内容所需的资产的快速转移。使用Azure CDN,您可以使用最近的存在点(POP)服务器来缓存从Azure Blob Storage,Web应用程序或任何可公开访问的Web服务器加载的静态对象。对于Azure CDN POP位置的完整列表看起来 这里 。小心,如果你是的,这不是与pop3混淆 扇子 of electronic mail.

拥有CDN将博客/网站较近其访客的内容带来。使用本地CDN Pop有助于加速下载并更快地显示内容。使用CDN发言的其他原因可能是......

  • … 减少Web服务器上的负载;
  • … 保护Web服务器免受DDOS攻击的;
  • … 允许并行下载文件;
  • … 以非常合理的价格访问高性能服务器;

我应该使用cdn吗?

此时最突出的问题是,如果应该使用CDN。典型的情况是,当您的博客或网站从世界各个角落访问的人访问时,您应该使用CDN。我们的博客在欧洲举办,这意味着如果美国或亚洲的某人试图进入该页面,我们的资产将不得不做出非常长的洲际旅程。

因此,我们决定使用Azure CDN。截至今天,有四(4)个计划提供。 Azure合作伙伴与两家提供商提供CDN功能,具有标准和高级产品的Akamai和Verizon,以及具有自己的CDN解决方案的Azure:

 Azure.  CDN Verizon Akamai Microsoft
Azure. CDN选项

我们决定去“Standard Verizon”提供,因为这是“Custom domain HTTPS”支持。这允许我们指定自定义域名“cdn.cloudelicion.net.”, instead of “cloudelicous.azuredge.net.”.

配置Azure CDN.

CDN. 的配置非常简单。我们去过以下CDN端点设置:

  • 起源
    • “cloudelicious.net”配置为“Origin hostname”,它定义了CDN从中拉出内容的URL;
    • “Origin host header” and “Origin path”留空,因为我们的设置不需要它们;
    • 我们还使HTTPS(443)作为唯一的协议,因为我们甚至没有通过HTTP(80)发布的博客
  • 压缩
    • 我们启用了压缩,尽管缓存插件已经准备了内容;
  • 自定义域名s
    • 我们加了“cdn.cloudelicion.net.”作为我们的自定义主机名,然后启用“Custom domain HTTPS”(仅在Verizon上提供)。

设置的下一步“Custom Domain”也没有复杂。只需牢记,对某些步骤的验证可以占用几个小时(以及最多8小时的删除/停用)。在我们的案例中,创建已在12小时内完成。

上述步骤是您需要配置的所有步骤。记住指定的URL“Name”(cloudelicous.azurededge.net)或“Custom Domain”(cdn.cloudelicion.net.),因为此后将稍后使用以配置为CDN配置WordPress。可能有价值选择一个也为自己说话的正确名称。根据提供程序,在使用Verizon时,配置更改可能需要90分钟以进行传播(与Akamai和Azure几分钟)传播。总而言之,始终计划前进,留出足够的时间来完成所有事情。

您想了解更多关于Azure CDN的信息吗?退房“Azure Friday”播客 - 15分钟了解 CDN. 如何工作和优化您的工作流程.

启用WordPress以使用CDN

要使WordPress中的CDN启用,必须安装WordPress插件。主要要求是使用URL重写的插件 - 使用CDN主机名 - 在网页上,因为默认WordPress不这样做。这是一个先决条件,因为WordPress使用绝对URL默认情况下链接的绝对URL,如果没有完成重写,它将绕过CDN。

需要插件以添加/配置CDN端点。大多数情况下,缓存插件提供了这种集成。我们看过的两个插件:

All of them have positive ratings and have their strength (and probably weaknesses). For this blog, we ended up using “Swift Performance” to not use too many plugins. The configuration of the CDN isn’t rocket science and is activated by adding the CDN’s Endpoint Name. Simply add the URL defined before (in our case //cdn.21645.cn).

部署需要几分钟,这是一旦配置完成后,它就会超级简单,维护。无需推出内容,Azure CDN从这一刻起照顾一切。查看您的网站是否正在使用的, cdnplanet.com. 提供一些优秀的测试。注意,您可能需要在使用CDN之前为CORS配置Web服务器。另一篇帖子将不久进入更多细节。

我们是如何得分的?

您可能想知道此配置更改了博客的性能。我没想到奇迹,但我们实际上对缓存和CDN的新分数非常满意:

PingFOM速度测量CDN
性能指标之后,CDN

我们很容易获得60%以上的速度改进。但是,由于我们添加了CDN,因此当服务器相当快时,从本地区域访问博客时,存在轻微的滞后。但是700ms的负载时间仍然非常快。您可以从上面看,配置非常简单,只需要三个步骤:

  1. 设置Azure CDN.
  2. 安装WordPress插件
  3. 配置要使用CDN的插件

对于来自海外的人,总负载时间从〜3秒降至约1秒(平均值),这是一个相当大的减少,您可以感受到最终用户。当然,这些结果可以在发布更多内容时,在写作/测试时,我们有八篇发布的文章和页面图形上的许多静态内容,不改变为所有用户显示的通用内容。更新WordPress或更新某些插件可能会产生影响,正面或负面。但实现缓存后的性能变化,CDN是积极的。

非常感谢Azure CDN产品组,尤其是 Anton Kucer,有助于测试和调整我们的实施。

还有一件事

数字对于比较很好,他们为你提供了对你的排名的良好反馈。然而,不要对蔬菜和红色过于迷恋。并非一切都确实存在问题或适用于您的网站或博客。用一粒盐带;没有解决方案,适合所有人。您可以了解更多有关不同工具来测量性能的信息 WP火箭博客。此外,您可能想要注意网站的感知加载时间, 时间心理学:感知VS实际加载时间。 - - 可能还有其他方法来加快网站加载时间。还 - 了解您的读者,从哪里和在哪些设备中消耗您的网站?

在我们的情况下,使用Azure CDN表示完整解决方案的一部分,以优化全局存在的博客。通常需要提高整体性能所需的额外步骤。我们热衷于听到你的 故事 使用缓存和CDN,您网站的性能如何得到改善。

此博客帖子也在Microsoft Cloud Blog上发布“用Azure CDN制作WordPress和Joomla上的网站“.

标签

相关文章

发表评论

本网站使用AkisMet减少垃圾邮件。 了解如何处理评论数据.