最新消息:点击查看大S的省钱秘笈

同时启用WP Super Cache和Memcached Object Cache

WordPress Slyar 401浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

把服务器搬到AWS以后网站的速度是快了不少,但是EBS(Elastic Block Store)的收费方式除了按空间算钱外,还会按IOPS(Input/output operations per second,I/O读写次数)收费,为了最大程度地节约成本,使用缓存技术减少I/O开销是迫在眉睫的的事情了。暂时开启的缓存机制有

1、WP Super Cache 插件缓存HTML页面和资源,减少硬盘读写次数
2、Memcached Object Cache 缓存MySQL查询语句尤其是组合查询语句,减少数据库读写次数
3、CloudFlare CDN 提供CDN缓存,尽可能减少首次访问用户对服务器的读写

CloudFlare不说了,简单明了。主要说一下WP Super Cache和Memcached Object Cache的同时启用

安装组件

WP Super Cache开启PHP缓存模式,压缩关闭使用服务器的Gzip即可,JS和CSS minify关闭因为有可能会导致文件损坏,其他默认即可。在未启动Memcached之前是看不到对象缓存选项的,下面说一下Memcached

首先一点,Memcache(传送门)是一项技术。Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载,原理是在内存里维护一张hash表保存SQL查询,后来的相同查询即可直接从内存里读取而不必访问数据库了。因此,你需要安装Memcache,服务器的名称叫做Memcached

memcached默认监听端口是11211,一般没必要改

好,现在忘掉服务器Memcached,我们来谈一下 PHP Memcache 和 PHP Memcached。这两个都是Memcache的客户端,不带D的是老版本,带D的是新版本,更高更快更强,所以我们用 PHP Memcached (传送门)

整合WordPress

OK现在你有了服务器Memcached,也有了客户端PHP Memcached,下面需要让WordPress可以调用PHP Memcached,所以你需要一个插件,Memcached Object Cache

官网版本(只能用于PHP Memcache!):Memcached Object Cache

PHP Memcached版本:tollmanz/wordpress-pecl-memcached-object-cache

切记要选择对版本,如果你安装的是Memcache(不带D的版本),官网的插件是对的;如果你安装的是Memcached,切记请使用Github那个版本,否则就会出现下面的错误

Slyar$ curl -IL http://www.slyar.com/blog/2016-honda-accord-touring-v6.html
HTTP/1.1 500 Internal Server Error
Date: Tue, 25 Oct 2016 15:07:10 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
GMT; path=/; domain=.slyar.com; HttpOnly
X-Powered-By: PHP

2016/10/25 23:11:33 [error] 20413#0: *1013 FastCGI sent in stderr: "PHP message: PHP Fatal error: Class 'Memcache' not found in /xxxxxxxxxxxxxxxxx/wp-content/object-cache.php on line 425" while reading response header from upstream, client: xxxxxxxxxxx, server: slyar.com, request: "GET /blog/2016-honda-accord-touring-v6.html HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "www.slyar.com"

下载插件,然后将object-cache.php手动上传到/wp-content/下面(注意不是plugin目录)

然后再次进入WP Super Cache的设置界面 - 高级,这时应该就可以看到这个选项了,『 使用对象缓存系统来存储缓存文件。 (实验室功能)』,勾选,更新设置

如果一切正常,wp-content看起来应该是这样的

Memcached探针

下面来查看以下Memcached的工作情况

下载pecl-memcache: https://pecl.php.net/get/memcache-3.0.8.tgz

解压缩以后提取里面的memcache.php放置在web能访问到的地方,vim编辑,改一下下面这几个地方就好了

网页访问即可看到Memcached的工作情况了,HIT(命中)92%效果非常显著

memcache_info

转载请注明:Slyar Home » 同时启用WP Super Cache和Memcached Object Cache

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 来自Google -- 作者多出干货- 加油!
    YIem4周前 (11-09)回复
  2. 学习中 挺好用的 谢谢分享啦
    工控资料窝4周前 (11-08)回复