为WordPress添加内存级缓存

WordPress是目前最为通用的博客平台,据统计现在80%的独立博客是由WordPress搭建的。但是,WordPress占用CPU资源巨大,生成一个普通页面常常涉及几十个SQL查询和秒级的运行时间,因此对WordPress进行动态页面静态化成为优化性能的最佳选择。

现在使用最为广泛的缓存插件当属WP-Super-Cache,性能较高且功能强大,能满足大部分需求。但是,WP-Super-Cache使用硬盘作为缓存介质,在面对大流量访问时会受限于硬盘IO。因此Batcache、Super Cache Plus等内存级缓存插件产生了,但由于其配置稍显复杂且使用上不如WP-Super-Cache顺手,并未得到广泛的普及。

在这里我要介绍一种在Unix/Linux服务器上实现内存级缓存的简单方法。

前提:要在WordPress中安装WP-Super-Cache插件(或是其他以硬盘为介质的缓存插件)并激活插件。

首先,我们通过SSH登录主机,进入/dev/shm目录,新建一个目录用来存放缓存文件(如malash.me-cache):


root@localhost:~# cd /dev/shm
root@localhost:/dev/shm# mkdir malash.me-cache

然后进入WordPress的wp-content目录,并删除其下的cache目录(假设WordPress根目录为/var/www):


root@localhost:/dev/shm# cd /var/www/wp-content
root@localhost:/var/www/wp-content# rm -rf cache

建立一条由/dev/shm/malash.me-cache到/var/www/wp-content/cache的软链接,并且改变权限为777:


root@localhost:/var/www/wp-content# ln -s /dev/shm/malash.me-cache /var/www/wp-content/cache
root@localhost:/var/www/wp-content# chmod -R 777 /var/www/wp-content/cache

最后刷新一下网页,如果在源代码的最后输出了正确的信息(如下),则说明成功了。


<!-- Dynamic page generated in 1.338 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-06-19 00:01:27 -->

在Unix\Linux系统中,自带了一个将内存作为硬盘使用的工具/dev/shm,在这个目录中存放的文件实际上是存放在内存中的,我们可以将缓存文件通过软链接的方式存放至/dev/shm目录中,直接实现内存级缓存。

不过这种方法有一点局限性,那就是必须为拥有root权限的VPS,虚拟主机不支持这种方法。

一条评论

文章评论: