昨天我写到给博客添加了 memcache 和 batcache 缓存。memcache 通过 WP-ServerInfo 插件看到了命中率,应该是没问题了。
batcache 我本来以为安装成功了,不过到了晚上查了一番资料,原来之前我在 </head>
前看到的一串随机值并不是 batcache 的标记,正确的标记应该是写在注释里,说明了页面生成的时间。我找到了几篇文章,按照文章里说的对 advance-cache.php
文件进行调整,结果一直不行。
之后我想,既然 batcache 无法使用,我干脆就用 WP Super Cache 吧。WP Super Cache 跟 batcache 一样是缓存插件,但 batcache 是缓存在内存中的,而 WP Super Cache 是直接生成 HTML 文件,存储在硬盘中,访问的时候直接调去,而不用再读取数据库生成,这样极大的减轻了数据库的负担,也解决了我的问题。更方便的是,比起虚无缥缈的内存,在硬盘中的文件则是实实在在的,可以很容易看到效果。
过去我用过 WP Super Cache,那时我刚从 Movable Type 转换过来,看到了什么好东西都要用上,而 WP Super Cache 插件则是很有名的缓存插件。当时我还没敢用 Linode 这样高大上的 VPS,用的 Ramhost 的比较低的配置,所以将博客静态化也可以很好的提升性能。不过,那时因为 VPS 内存小,我用的是 Nginx 服务器,转发规则等配置跟 Apache 有些不同。我在上面跑 WordPress 本身就要调整设置了,再加上 WP Super Cache 给出的复杂的 .htaccess
配置,我是无论如何都无法将它转换成 Nginx 配置的。结果照着网上的教程,最后也不知道配置成功了没有,自己也没有觉得博客速度有所提升。现在我直接用上了 Apache,省了大量的麻烦,WP Super Cache 也很容易的就装上了。通过查看页面代码,也能在末尾看到记录生成时间的注释,说明安装成功。
另外,我印象里,在过去安装 WP Super Cache 时,推荐使用 mod_rewrite
来进行转向,而这次安装,推荐的则是通过 PHP 来转向,不知道是为了什么。看网上说,用 mod_rewrite
可以直接让网页服务器来转向,不用发动 PHP 运行,速度最快,所以我也用了 mod_rewrite
。
我想这样可以完全解决博客数据库崩溃的问题了吧。