WordPress速度优化之 启用Memcached缓存系统

[toc]

什么是Memcache?

memcached是一套分布式的高速缓存系統,由LiveJournal的Brad Fitzpatrick开发,但目前被許多网站使用。這是一套開放原始碼軟體,以BSD license授權釋出。 (via维基百科

安装注意事项

有一点要注意,本文讲述的方法仅限使用VPS/服务器搭建的WP。如果你的WP是用虚拟主机搭建的话,就不用按照这里的方法安装Memcached了。找一下面板上面有没有Memcached的开关,如果没有找到,那就问一下虚拟主机那边的客服吧,一般都会给你开的。

准备工作

安装W3 Total Cache插件

先安装Memcached

在这里下载lnmp的安装包到你的服务器/VPS

按照下面的命令输入终端进行解压,并进入解压后的目录。

tar zxvf lnmp1.6.tar.gz && cd lnmp

然后执行安装。

sudo chmod 755` **`addons.sh`** `&& sudo` **`./addons.sh install memcached`*

这里可以根据自己的需求选择php-memcache或php-memcached扩展,目前discuz x使用的是前者,功能上php-memcached更强大一些。如果要使用下文的 WordPress 插件,请选择php-memcache(也就是1),否则会有问题
输入对应的序号,回车,再次确认回车开始安装。

等待几分钟后,Memcache的安装就算是完成了。

然后安装并配置W3 Total Cache插件

安装插件的方法就说了,简单的很。这里只讲配置的方法。

在左侧工具栏找到General Settings

General Settings

然后按照下图启用页面缓存

启用数据库缓存

启用对象缓存

要注意的是,三个选项的缓存模块都要选Memcached。最后按下Save all settings就大功告成了。

关于查看 Memcached 缓存情况的方法,我这边直接引用倡萌的自留地的文章好了。


**STAT cmd_get 2363348 —— 总共获取数据的次数(等于 get_hits + get_misses )  
STAT cmd_set 279971 —— 总共设置数据的次数**  
STAT cmd_flush 0  
STAT cmd_touch 0  
**STAT get_hits 2286284 —— 命中了多少次数据,也就是从 Memcached 缓存中成功获取数据的次数  
STAT get_misses 77064 —— 没有命中的次数**  
STAT delete_misses 30803  
STAT delete_hits 48876  
STAT incr_misses 0  
STAT incr_hits 0  
STAT decr_misses 0  
STAT decr_hits 0  
STAT cas_misses 0  
STAT cas_hits 0  
STAT cas_badval 0  
STAT touch_hits 0  
STAT touch_misses 0  
STAT auth_cmds 0  
STAT auth_errors 0  
STAT bytes_read 574591015  
STAT bytes_written 4353057466  
**STAT limit_maxbytes 67108864 —— 总的存储大小,默认为 64M**  
STAT accepting_conns 1  
STAT listen_disabled_num 0  
STAT threads 4  
STAT conn_yields 0  
STAT hash_power_level 16  
STAT hash_bytes 262144  
STAT hash_is_expanding 0  
**STAT bytes 4717345 —— 当前所用存储大小**  
STAT curr_items 5654  
STAT total_items 58461  
STAT expired_unfetched 17  
STAT evicted_unfetched 0  
STAT evictions 0  
STAT reclaimed 49  
END  

以上数据的命中率:2286284/2363348 = 96.7% 说明当前命中率是比较高的。
如果你要清空现有数据,可以使用下面的命令:

 stats reset

要退出 telnet,输入组合键 Ctrl+] 出现

 telnet>  

输入 quit 即可退出。

1.关闭Memcached
直接使用 kill 进程ID 即可,比如上面信息显示的进程ID为20439,那就使用 kill 20439
2.重新启动Memcached,并且修改内存等参数,样例如下(修改最大内存为 1024M,最大连接数为 4000):

 memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 4000 -P /tmp/memcached.pid 11211  

更详细的有些参数介绍如下:

-p 监听的端口  
-l 连接的IP地址, 默认是本机  
-d start 启动memcached服务  
-d restart 重起memcached服务  
-d stop|shutdown 关闭正在运行的memcached服务  
-d install 安装memcached服务  
-d uninstall 卸载memcached服务  
-u 以的身份运行 (仅在以root运行的时候有效)  
-m 最大内存使用,单位MB。默认64MB  
-M 内存耗尽时返回错误,而不是删除项  
-c 最大同时连接数,默认是1024  
-f 块大小增长因子,默认是1.25  
-n 最小分配空间,key+value+flags默认是48  
-h 显示帮助

發表回覆

你的電郵地址並不會被公開。 必要欄位標記為 *