Posted on 六月 21, 2018
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/
用了 wp super cache 然后 加了 object cache 速度还是慢, 上了 Batcache FFTB 才 十几ms, 飞快!
博主还在用batcache吗?如果一个服务器有两个wordpress,怎么使用batcache,默认的那个可以正常使用,另外一个修改了数据库前缀的就会报致命错误
迁移服务器之后就没再用batcache了😂。
之前使用的是一个境外的服务器,打开wordpress特别卡,所以想试试看batcache之类的能不能提高响应速度。结果没用,卡的原因就是服务器cpu不行。
迁移到国内后访问速度还蛮快的,就没再使用batcache之类的了。