W3 Total Cache 与 Kakapo Performance 对比:精细调校还是简单开关?
W3 Total Cache 是 WordPress 上历史最悠久、可调选项最多的缓存插件之一。这恰恰既是优点也是缺点:懂行的人能从中获益良多;不懂的人打开某个选项后,会纳闷网站为什么坏了。
简短的回答
W3 Total Cache 几乎为每一层都提供了独立的设置——页面缓存、对象缓存、数据库缓存、浏览器缓存、Minify、CDN——而且大多有多种方式可供选择。它免费,且可调范围非常广。
Kakapo Performance 涵盖同样的主题,但会预先做出决定,并在界面中说明理由。它不是提供五种方式让你选,而是只有一种,并解释为什么是它——当某项设置在当前服务器上不起作用时,还会给出提示。
两者的区别在哪里
| 问题 | W3 Total Cache | Kakapo Performance |
|---|---|---|
| 价格 | 免费,有 Pro 版本 | 付费插件,一个许可证涵盖九款 |
| 设置项数量 | 非常多 | 有意限制,并说明理由 |
| 对象缓存与数据库缓存 | 是,多种方式 | 对象缓存(服务器支持时) |
| 图片转换为现代格式 | 需借助扩展 | 在你的服务器上本地存储 |
| 在本地提供字体 | 需核实 | 是,包括替换 Google Fonts |
| 数据库清理 | 有限 | 是,删除前可预览 |
| Cron 和 Heartbeat | 需核实 | 内置 |
| 设置 | 需要大量阅读 | 可自行修改的默认值 |
| 属于套件的一部分 | 独立插件 | 一个账号管理九款插件 |
真正的区别:有多少决定留给你来做
如果二十个开关里有十八个在你的主机环境中毫无作用,那它们就算不上优势。缓存插件的难点不在于缓存本身,而在于知道哪项设置在哪种服务器上能起作用。
Kakapo Performance 会尽可能回答这个问题:它检查服务器能提供什么,并附上理由停用相应开关,而不是让它们悄无声息地毫无作用。想完全掌控每一种方式的人,用它就选错了——W3 Total Cache 正是为此而打造的。
无论用哪款工具:先测量。没有基准值,事后你就不知道是否有所改善——而且大部分改进本来就来自图片和脚本,而不是缓存。
何时 W3 Total Cache 是更好的选择
- 你了解自己的服务器,想亲自选择每一种方式
- 你需要某个特定的对象缓存驱动
- 你想免费起步
何时 Kakapo Performance 是更好的选择
- 你想要速度,又不想钻研各种方式
- 图片不应离开服务器
- 你希望在同一个工具中完成数据库维护和字体处理
- 你管理多个网站,希望各处都使用同一套界面
切换:需要做什么
- 先在固定条件下测量。
- 在启用新插件之前,清空旧插件的缓存并停用它。
- 检查 wp-config.php 或 .htaccess 中是否留有残余——缓存插件很喜欢往那里写东西。
- 最后再逐项启用 Minify。
- 查看表单页面、购物车和一个带视频的页面。
- 在相同条件下再次测量。
同时运行的两个缓存插件会互相提供过期内容。先停用一个,清空缓存,再启用另一个——绝不要并行。
你应当按什么顺序启用
在速度优化上,代价最大的错误不是设置不对,而是一次改动太多。拨动十个开关后网站崩了的人,不知道是哪一个造成的——出于谨慎又会把所有开关都关掉。以下顺序可以避免这种情况。
- 先测量:首页、一个典型的子页面、一个带表单的页面。记下数值。
- 只开启页面缓存,别的都不动。重新测量。这一步通常带来最大的提升。
- 图片:现代格式和固定尺寸。重新测量——这里会体现出第二大的效果。
- 合并 CSS 和 JavaScript。现在手动把每种页面类型都查看一遍,尤其是表单和购物车。
- 在此之后,再去调整预加载和关键 CSS 之类的细节。
- 每一步之后:分别在未登录和已登录状态下各检查一次。
始终连续测量两次,取第二次的数值。改动后的第一次访问要先建立缓存,因此必然偏慢。
要问主机商的问题
在决定使用哪款缓存插件之前,先弄清一件事:你的主机商是否已经自带服务器端缓存?很多主机商都有,这时插件里的第二层缓存就会与第一层互相冲突——改动延迟显示,也没人再搞得清到底是哪一层在提供旧版本。
如果已有服务器缓存在运行,你需要插件提供的主要是其余部分:图片、CSS、JavaScript、字体。如果没有,插件中的页面缓存就是最重要的单项措施。这个答案对结果的影响,比在两款好插件之间做选择更大。