WP Super Cache 原理
刚刚开始建站还觉得没什么,但是内容一多,我这续了三四年的阿里云1核2G服务器真心顶不住啊,我一个人刷新都这么慢(宝塔后台显示此时CPU占用确实是100%),要是来多几个游客那他们还不急死啊。
俗话说开源节流,但是开源是不可能的,没钱加配,那就只能节流咯。在尝试各种其他奇技淫巧之前,先来看看见效最快的大杀器:WP Super Cache!
想知道 WP Super Cache 为什么能加速之前,先知道为什么普通 WP 网页这么慢。众所周知,个人博客站点分两类:Hugo 之类的静态博客,和 WP 之类的动态博客。动态博客之所以功能强大,就是因为他的功能会动态向服务器交互,页面也是动态生成的,这样一来可不就慢了嘛。
说到这里你应该也猜到 WP Super Cache 加速的原理了:没错,就是把 WP 的动态页面转化为静态页面缓存,这样用户访问的时候,就不是费劲巴拉重新生成页面,而是直接抽出一个静态页面发过去,大大降低了 CPU 消耗。
设置
打开插件设置面板。
通用
在“通用”选项卡中,选择“启用缓存功能”以启用缓存, 点击“更新”按钮来保存设置。
高级
图中选项几点说明:
- 缓存限制:默认是禁用登录用户的缓存。你像我一样为所有访客启用缓存,那么下面的“启用动态缓存”就不要开,至少在我这里开了“启用动态缓存”后登录用户加载不出来首页。
- 不要为 GET 请求缓存:一般带 GET 请求 是动态页面,不需要也不应该缓存成静态。
- 缓存重建:官方文档是这样说的:当访问者留下评论时,该页面的缓存文件将被删除,下一个访问者将重新创建缓存的页面。一个页面需要一些时间来加载,那么如果在此期间收到 100 个访问者会发生什么?不会有缓存页面,因此WordPress将为每个用户提供一个新页面,插件将尝试为这100个访问者中的每个访问者创建一个缓存页面,从而在您的服务器上造成巨大的负载。此功能可阻止这种情况发生。留下注释时,不会清除缓存的页面。它被标记为重建。接下来 10 秒内的下一个访问者将重新生成缓存的页面,而旧页面将提供给其他 99 个访问者。页面最终由第一个访问者加载,缓存的页面更新。
- 让已知用户匿名使他们浏览的内容是缓存文件:之前我们知道,WPSC是单独为每个用户生成缓存的。这个选项就是一视同仁,把登录用户也当作游客处理。好处就是不用分别生成缓存,管理员先趟一遍就不用游客自己趟了;缺点是因为管理员也被当作匿名,所以如果你的博客站点有很多登录用户而且有区别对待的功能,那别想用了;此外写博客预览用不了(404),因为游客看不了草稿预览。总之这个选项对于小站点收益还不错,但是对于高性能、多用户的站点副作用非常大。
- 启用动态缓存:原教程说:“如果您想在缓存期间保持网页的某些部分动态,启用动态缓存非常有用,尤其是在页面包含频繁更改的内容时。例如,您可以通过允许动态缓存来加快包含广告的网页的速度”。因为我这里和“所有访客启用缓存”冲突,我的博客又没有动态部分,所以不开。
- 移动设备支持:开不开都可以,现在的手机打开都挺快的,开了也没毛病。
照着图片选即可,“当有新文章或页面的发布或更新时清除之前的缓存文件”是清除所有缓存而不是只有那一个网页,最后,不要忘了点“更新”来应用。
- 缓存超时时间:设置一个过期时间,超过这个时间的缓存就之后就会被标记为“过期”,之后会被垃圾回收器清除。
- 计划:垃圾回收器运行的间隔。每隔一段时间垃圾回收器就会检查并清掉被标记为“过期”的缓存。
缓存超时时间设置
如果网站更新不频繁,例如1周都不会更新一次,那么我们将“缓存超时时间”设置成7天604800秒或者更长,这样做的好处是,在内容更新之前,网站访客将总是从缓存中获取页面,这样可以提高页面加载速度。
回收计划任务设置
在缓存超时时间设置为7天的前提下,可以将“回收计划任务”设置成每2-3天运行一次垃圾回收。垃圾回收的频率是一个平衡性的问题。如果你的垃圾回收运行得太频繁,那么可能会占用过多的服务器资源,影响网站性能。另一方面,如果垃圾回收运行得不够频繁,过期的缓存文件可能会占用过多的磁盘空间,这也可能影响网站性能。
当一个缓存页面的缓存超时时间到达设定的值(例如7天)后,这个缓存页面会被标记为”过期”。然而,这并不意味着这个缓存页面会立即被删除或清理。
实际上,即使一个缓存页面被标记为过期,它仍然会留在缓存中,直到回收计划任务运行。只有在回收程序运行时,过期的缓存页面才会被真正清理出缓存。
至于新的缓存,它会在下一次有访问者请求这个页面时生成。也就是说,当一个访问者请求一个已经过期的页面时,WP Super Cache会先删除旧的(过期的)缓存,然后生成并保存这个页面的新缓存。
预缓存
“预缓存”(Preloading)是WP Super Cache插件的一个特性,它允许你提前生成网站的所有页面的缓存,而不是等到有访问者请求时再生成。这对于访问量较大的网站特别有用,因为它可以确保每个访问者都能立即获取到已经缓存的页面,从而提高网站的响应速度。
时间设置:1440
- 勾选“预缓存模式(垃圾回收器已禁用,推荐)“。
- 勾选“预缓存标签,分类以及其他“。
最后设置完毕记得保存或更新,开始体验爆炸快的网页加载速度吧!