WordPress优化之路(Memcache、Batcache)

网上说法是:

由于 WordPress 默认支持 Object Cache,所以在 WordPress 实现 Memcached 就是使用 Memcached 把 WordPress 的 Object Cache 写到内存中去,下次直接从内存中读取。相比直接从数据库去读取数据,或者从 Object Cache 数据存到文件,然后从硬盘中读取,Memcached 有很大的速度优势。

WordPress 启用 Memcached 这样的内存缓存之后,每次访问 WordPress 页面,都要从内存中获取多个缓存对象。

而 Batcache 主要就是解决这个问题,它是基于 Memcached 的 WordPress 缓存插件,它的工作原理是:把当前整个页面作为一个对象缓存到内存中,这样再次访问 WordPress 页面的时候,直接获从内存中获取这个对象即可,速度极快。

个人理解:

WordPress默认的Object Cache这种缓存机制是把缓存的内容用类似key-value这种形式存到数据库里,Memcache则直接存到内存中,加快了读取速度。

Batcache则更进一步,直接把整个页面缓存到内存中,下次访问直接从内存中取页面,速度更加快。

安装Memcache

which memcached                       //如果已经安装,会有“/usr/bin/memcached”类似的输出
php -m | grep memcache                //如果已经安装,会显示memcache,否则没有输出
yum search memcached                  //检查有没有安装包,有了可以执行第三部
yum -y install memcached
yum -y install php-pecl-memcache      //memcache关联php
pecl install memcache          //如果需要php扩展,就用下面这个命令
若提示“ERROR: `phpize' failed”这样的报错,再安装php-devel
yum install php-devel

配置php.ini文件:
打开/etc/php.ini文件,添加一行来载入memcache扩展:
extension=memcache.so
chkconfig memcached on
启动,停止,重启
service memcached start
service memcached stop
service memcached restart

安装好以后,还需要重启apache
httpd -k restart

可以访问phpinfo()页面,来看看是否安装成功。

安装成功会显示如下:

安装Memcache插件

网上说的方法是下载然后上传到指定目录,但我觉得可能直接从插件库里安装也会好用的。

PHP Memcache 扩展:http://wordpress.org/extend/plugins/memcached/
PHP Memcached 扩展:https://wordpress.org/plugins/memcached-is-your-friend/

把下载的:object-cache.php 复制到 wp-content

我装的是Memcache,所以下的第一个。后来看网上说Memcached是新版本,性能更好。

安装Batcache插件

直接在WordPress插件库里搜索batcache,安装。

在线编辑advanced-cache.php源码

var $max_age =  604800; // Expire batcache items aged this many seconds (zero to disable batcache)

var $remote  =    0; // Zero disables sending buffers to remote datacenters (req/sec is never sent)

var $times   =    1; // Only batcache a page after it is accessed this many times... (two or more)
var $seconds =  0; // ...in this many seconds (zero to ignore this and use batcache immediately)

max_age代表缓存过期时间(以秒为单位),times表示访问多少次才创建缓存(2是最小值),seconds表示在多少秒之后才创建缓存(0表示立即)。

 

至此折腾结束,至于效果如何,明天看看吧。。洗漱碎觉

 

参考:

https://www.cnblogs.com/kenshinobiy/p/7398765.html

https://blog.csdn.net/doubleface999/article/details/55798750

http://blog.wpjam.com/m/wordpress-memcached/

http://blog.wpjam.com/m/batcache/

http://www.daniao.org/72.html

 

3 Comments on “WordPress优化之路(Memcache、Batcache)

  1. 用了 wp super cache 然后 加了 object cache 速度还是慢, 上了 Batcache FFTB 才 十几ms, 飞快!

  2. 博主还在用batcache吗?如果一个服务器有两个wordpress,怎么使用batcache,默认的那个可以正常使用,另外一个修改了数据库前缀的就会报致命错误

    • 迁移服务器之后就没再用batcache了😂。
      之前使用的是一个境外的服务器,打开wordpress特别卡,所以想试试看batcache之类的能不能提高响应速度。结果没用,卡的原因就是服务器cpu不行。
      迁移到国内后访问速度还蛮快的,就没再使用batcache之类的了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注