cdn扩展:租赁服务器提供的缓存功能的差异

cdn扩展:租赁服务器提供的缓存功能的差异

作者:云资讯    浏览次数:250    2021-07-07 12:08:40

租用服务器的缓存功能,尽管它有点偏离 CDN 的主题。最近,出租服务器提供了好用的缓存功能的案例很多,但在现实中,每个缓存功能都有不同的作用和功能。在本文中,我们将通过了解包括CDN在内的缓存功能的区别,向您展示如何根据目的明智地使用缓存功能。

cdn扩展:租赁服务器提供的缓存功能的差异-云资讯

多种缓存功能
到现在为止,租用服务器上的缓存功能已经“启用”到了APCu、OPCache等靠近中间件的缓存功能,或者用户一般在WordPress等CMS上安装了缓存插件等使用。是一个目标。但是,最近各家公司都发布了各种缓存功能,不用太多知识就可以使用。首先,让我们对缓存功能进行分类。

下图显示了每个缓存所在的位置,这些缓存功能将在下面解释。

*“租用服务器公司提供的缓存功能”的缓存服务器可能与源服务器集成。

OPCache、APCu

OPCache 和 APCu 是 PHP 扩展,是 PHP 程序(包括 WordPress)执行性能的有效缓存。OPCache 是一个缓存函数,它从内存中读取编译后的版本并执行它,而无需为每个请求读取 PHP 源。APCu 是一个将变量的结果缓存在内存中的函数。

使用 OPCache,您不必担心本系列第 2 部分中介绍的“缓存时间”,而且在租用服务器的情况下,您不必太担心 ON/OFF。这是一个速度更快的映像,因为如果在服务器上启用它就可以使用它(如果您具有管理员权限,则可以安装和自定义它)。

另一方面,需要在应用端启用 APCu 才能使用。如果是WordPress插件,可以配合W3 Total Cache、WP-FFPC等插件使用。通过同时使用 OPCache 和 APCu,您可以预期性能提升百分之几十,具体取决于环境。由于是缓存功能,基本运行在服务器端,无法避免租用服务器的传输容量限制。APCu 在Sakura 的租赁服务器上启用,因此如果您使用 WordPress,您只需插入一个插件即可使用它。

  • APCu 仅在模块版本 PHP 中可用。更多支持站点,请查看。

在内存中缓存时,读写速度比后文描述的磁盘缓存要快,但由于容量往往有限,页面数量较多的站点可能无法缓存所有页面。在很多情况下,最旧的缓存会被覆盖,这会降低缓存命中率。

Redis、内存缓存

由于 Redis 和 Memcached 作为 WordPress 缓存插件的缓存目的地位于下拉菜单中,因此很多人可能只知道名称。说到这里的缓存功能,在租用的服务器上几乎是用不上的(就算能用,也不支持),经常是自己用VPS等安装使用。

如果你是用VPS等操作WordPress站点,可以通过yum等包管理工具安装使用,但是由于之前存在的Memcached存在严重的漏洞问题,日常管理(更新)是需要中间件的. 可以说门槛很高,因为在使用之前需要充分了解风险。

WordPress缓存插件

WordPress 是世界上使用最多的 CMS,也有很多缓存插件。WP Super Cache和W3 Total Cache比较常见,但是比CDN好用多了,因为可以在插件设置界面设置缓存目标文件和缓存时间。由于是在同一台服务器上执行,所以并没有显着降低服务器负载,但重点是它快速有效,因为它可以显着减少PHP程序执行和数据库请求。只需打开并启用 WP Super Cache,您就可以轻松地将性能提高几十个百分点。对于中小型网站,最好先尝试一下。

APCu、Memcached 和 WordPress 插件不缓存图像,而是缓存动态生成的 HTML 文件。如果您说网站上的图片很重,请注意这些缓存功能无法处理。尤其是对缩短 TTFB(Time To First Byte)有显着效果,这对于加快 WordPress 网站的速度很重要,但对于交付大量图像文件等应用,预计效果不大在高速。这是一个点。

缓存服务器

*“租用服务器公司提供的缓存功能”的缓存服务器可能与源服务器集成。

缓存服务器(代理缓存)由租用服务器公司准备作为租用服务器以外的缓存服务器,从通过它的流量开始,将指定的文件缓存指定的时间。虽然行为类似于CDN,但它通常在租赁服务器运营商的网络内完成,并且易于使用,例如通过控制面板操作ON/OFF。

即使不是租用服务器,也可以自己准备缓存服务器,搭建,使用。这是大型站点的常用技术,但当然很难管理和构建。租用服务器的缓存服务器功能就是把这个自定义成一个好的盐梅,从控制面板里设置。它非常易于使用,因为它还可以选择要缓存的文件。好像缓存时间(web加速器中s-maxage的设置值)也设置为5分钟左右,还有很多不需要特别设置的。但是,请务必了解缓存目标文件和缓存时间,因为这将是发生故障时的重要隔离因素。

就一点而言,效果取决于缓存服务器是在同一个机箱中还是在不同的机箱中。如果和nginx或者Litespeed缓存在同一个机箱,网络带宽和CPU资源和自己的服务器是一样的,所以是一个类似于WordPress插件缓存功能的镜像。

如果由不同机箱的缓存服务器缓存,这样的资源会有所不同,所以认为性能会更高。这是一个更接近 CDN 的图像。但是,请注意,该行可能不如 CDN 粗。此外,缓存的位置可能不公开。

浏览器缓存

浏览器缓存没有缓存服务器等,只是在浏览页面的客户PC的浏览器中缓存图像文件等的设置。编辑 HTTP 响应标头中的 Expire 和 Cache-Control 标头以控制浏览器缓存的时间。与目前介绍的缓存功能不同,它是一种缓存在用户浏览器中的功能,因此虽然没有特殊设备,但对访问过一次的客户的第二次及后续访问有效。

即使租赁服务器不支持在控制面板上轻松设置,您也可以通过在.htaccess中设置Header Set Cache-Control “max-age = 60”来设置缓存。您还可以指定文件类型,因此您可以只设置 css 或 jpg / gif。

浏览器缓存的重点是清除缓存比较困难。大多数 CDN 和插件允许您使用单个缓存清除按钮清除整个缓存。另一方面,一旦它缓存在最终用户的 PC 上,清除它可能很容易。基本上是在浏览器缓存不能被任何操作删除的前提下选择要缓存的文件。

在 CDN 上缓存

由于在之前的系列中已经介绍过,我就不详细解释了,但是和其他缓存功能不同,它专门做服务器/网络负载分配,所以没有带宽限制(不是完全免费的),有有许多优点,例如源服务器上没有负载,但在许多情况下,有一个缺点,即按使用量付费。设置好DNS后,一般跟浏览器缓存一样,通过HTTP响应头来控制缓存ON/OFF。

由于CDN上的缓存不仅是计算机资源,也是专用于大规模分发的网络资源,所以一般与大家共享100Mbps的租用服务器有很大不同。这意味着您必须支付尽可能多的费用来承受高负载。此外,根据CDN服务提供商的不同,它支持多站点分发,因此也有从每个国家最近的缓存服务器分发的高性能CDN。

服务器缓存、浏览器缓存、CDN缓存,还可以缓存图片等文件(如果在租借服务器上轻松设置,可能无法缓存)。使用适合预期流量大小的那个。要记住的一点是,浏览器缓存是最终用户的浏览器缓存,所以它对负载均衡没有显着的影响,除非页面HTML被缓存,否则TTFB会更快没有效果。请注意,缓存仅限于不会重新加载访问过的页面资源的一位用户(准确地说,是一个浏览器)。

简单的基准测试结果
我用Apache Bench尝试了一个简单的页面显示速度基准测试,但是我准备了一个比较重的WordPress页面,在普通环境下(只有OPCache有效),请求处理能力是13.7个请求/秒,但是变成了119个请求/第二次将 W3 Total Cache 的页面缓存和数据库缓存切换到 APCu。使用 WP Super Cache 时,是 100 个请求/秒,所以 APCu 缓存稍微快一些。它适用于快速加速,因为只需设置一个简单的插件就可以预期将处理能力提高约 800%。

如果尝试使用 Web 加速器缓存同一个页面,它将是 315 个请求/秒,这将进一步提高性能。最重要的是,CDN 的主要观点是它可以保持这种性能(当然,尽管存在限制),即使它被大量访问淹没。

使适应 基准测试结果 放大
仅 OPCache 13.7 1
OPCache / APCu(内存缓存) 119 8.7次
OPCache / WP 超级缓存 100 7.3次
网络加速器 (CDN) 315 23次

  • 通过与 Apache Bench 并行连接一段时间,对安装在 Sakura 租赁服务器上的 WordPress 站点施加负载的结果。

让我们牢牢抓住瓶颈
如果您在租用服务器上使用WordPress,并且插件较多,页面显示较重,建议您快速安装缓存插件。引入门槛很低,而且不需要花钱,但您可以期待性能的显着提升。在插件的情况下,还有编辑帖子后清除缓存等方便的功能,所以你可以很容易地介绍它,而且你可以使用它而不知道你缓存太多。根据插件的不同,内容显示可能会受到影响,但由于可以在Sakura 的租赁服务器上免费使用备份和登台功能,因此您可以在登台服务器上检查操作。

如果您有租用服务器缓存功能(服务器缓存而不是浏览器缓存),此设置也有效。这些是性价比最高的功能,目的是为了减轻平时的访问量。租用服务器的缓存功能适用于插入插件产生不良影响或不想增加插件数量的情况。

另一方面,如果您不知道电视等大众媒体的曝光量有多少,例如您的公司被介绍在金带电视节目中或您公司的产品被介绍在综艺节目中,则建议使用CDN。如果您还没有使用过它,那么从现在开始练习操作方法是一个好主意,以备有一天您想使用它。Sakura 的 CDN 网络加速器有 500GiB 的免费层,所以如果你有一个域和一个虚拟站点,你可以立即练习。

我们已经向您介绍了各种缓存功能,但是您应该通过牢牢掌握您的站点遇到的问题来决定使用哪种缓存功能。缓存插件对于通过电视突然访问是不够的,并且对于图像传输多且页面显示缓慢的站点设置浏览器缓存意义不大。

由于设置了很多插件,PHP处理时间较长,我们来插入一个缓存插件。由于图片传输量大,资源图显示我们总是在共享线的极限附近使用它,让我们让CDN接管图片分发。如您所见,能够正确选择瓶颈解决方案是使用缓存加速网站的第一步。

概括
顺便说一下,从CDN的基础知识到设置方法、注意事项、其他缓存功能,我已经六次介绍了。包括CDN在内的缓存功能的一般难点在于概念和机制难以理解,但是一旦理解它们,它们就可以用于广泛的用途,从大型站点到低速服务器的加固. 如果您明智地使用缓存功能并能够应对各种情况,那么网页制作的范围肯定会扩大!