WordPress个人网站再谈内存缓存,命中率很重要

个人站长圈中,内存缓存备受推崇,因为可以巧妙利用WordPress内置的外部对象缓存机制,在实际应用中效果确实立竿见影。然而还是有不得不说的细节。

今天这篇文章主要还是以分享心得为主,不具备实践理论的数据。

先说观点,我们固有的计算机知识中,我们常常认为内存的速度并不重要,或者说不那么重要,至少应以CPU的速度为基准。这样的观点时至今日依旧没有落后,对于攒个人电脑来说,这是很聪明的选择。

WordPress个人网站再谈内存缓存,命中率很重要
你可以永远相信国产内存条

但有时我们需要走出这种思维定式,随着对计算机的知识的补充汲取,后来我们发现CPU的“瓶颈”永远有内存的速度的影响,可以说内存的低时序高频率,对CPU的运算有很大的帮助——在CPU时钟频率远超内存极限的时候。

当然,网站程序的一个网页一般也就百八十KB,纵然这个数据再乘以百倍千倍,个人站长的主机应该也不至于就此挂掉。

可为什么明明并发量不高,网络不阻塞,访问的时候网站的速度依旧不如人意?在已开启了外部对象缓存的情况下,每一次进入后台为什么延迟还那么高?

这种偶发性的软性“故障”可能有主机商主机的问题,但大概率还是我们的网站设置出现了偏差。说白了就是优化不到位,缓存并未被有效命中。这种清空或可能比未设置缓存的载入更加慢。内存缓存一个必要前提,即是命中率。

自己攒过机的垃圾佬应该对内存频率、时序等有所了解吧。时序可以简单理解为周期,频率则为此周期内的数据量值。假设未能命中缓存在内存中的数据时,CPU将等待响应的周期视内存时序而定,即使CPU的频率可以很高,但因为水桶原理,始终必须等待下一个进行读取或写入的内存周期,直至命中。

一些缓存插件能够通过异步加载来实现多线程利用,即使有一些资源未高精度命中,用户的访问体验依旧得到基本保障。

如果命中率一直很低呢?

通常这种情况就应该检查代码或更换插件。幸运的是服务器内存条支持ECC,从功能上看,ECC有特殊的纠错能力,这是一般内存条所不具备的。

针对之前 Memcached 的设置的补充,推荐WordPress的个人站长视情况使用缓存插件,在一些较为优秀的缓存插件中,提供 Memcached 和 Redis 等不同的方案。

经过实际体验,Litespeed cache 确实配得上五星。我也使用过 WP Rocket的破解版,二者并没有肉眼可见的差距,由于担心缓存的安全问题,还是选择了前者。

Litespeed cache的 Object Cache.php 代码是否有过优化不得而知,相比在之前推荐的Memcached 设置,此缓存插件命中率更高,速度更快。它同时还提供浏览器缓存。虽然在使用cdn映射到二级域名时动静分离失败,目前本站点的访问依旧可圈可点。

主机商在产品宣传页会标注:高效云盘之类的字眼,然而由于WordPress的产品特性,内存缓存还是非常必要的选项。如果非要使用磁盘缓存,应当将服务器磁盘更换为固态硬盘。ddr5和最高效的ssd孰优孰劣,土豪可以攒台电脑去试试。

个人站长的网站却是很难架设在这样豪华的主机上。

内存缓存,YYDS。

最后说一下,外部对象的缓存数据,具体是放在访问者的计算机内存里,还是个人站长的主机内存里,这一点我并未深入了解。通过时域进行交互,太硬核了,科普不了。不过一样的是,在特定条件下,硬盘的容量上有优势,速度上内存占优势。

原创声明,作者:卡卡CC,未经允许不得转载,唯一链接:https://www.gaineng.net/wordpressnchc666.html

(4)
上一篇 2022-09-02 下午5:31
下一篇 2022-09-13 下午6:27

相关推荐

发表回复

登录后才能评论