wordpress添加memcached及命中查看

说明:
由于wordpress默认支持Object Cache,所以在wordPress实现memcached就是使用memcached把wordpress的Object Cache写到内存中去,下次直接从内存中读取。相比直接从数据库去读取数据,或者从Object Cache数据存到文件,然后从硬盘中读取,memcached有很大的速度优势。
本篇文章包括wordpress如何添加memcached以及如何查看命中率等。


实现:
1. 需要你的服务器支持,就是你的php需要安装上memcached扩展。你可以通过 phpinfo()这个 PHP 函数来检测。


2.编译安装memcached

# yum install libevent libevent-devel -y
# cd /usr/local/src
# wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
# tar -xvzf memcached-1.4.5.tar.gz
# cd memcached-1.4.5
# ./configure --prefix=/usr/local/memcached
# make && make install

 
3.开启memcached守护进程,使用默认端口11211

# /usr/local/memcached/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 64 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

 
4.下载wordpress memcached插件:http://wordpress.org/extend/plugins/memcached/

# wget http://downloads.wordpress.org/plugin/memcached.2.0.2.zip
# unzip memcached.2.0.2.zip
# cp memcached/object-cache.php /home/www/wp-content/ //将object-cache.php复制到wp-content,注意不是wp-content/plugins/

 
5.wordpress自动检查wp-content目录下是否有object-cache.php文件,如果有,直接调用它为wordpress对象缓存
如果默认端口为11211,如/usr/local/memcached/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 64 -P /tmp/memcached.pid,就不需修改wp-config.php文件。但如果端口不是11211或开启了多个守护进程(例如:13112),那就需要在wp-config.php文件中增加如下代码:
global $memcached_servers;
$memcached_servers = array(’default’ => array(’127.0.0.1:13112′));//这里的13112替换为你设置的守候端口,多个memcached守护进程写多行

至此,wordpress已经开启memcached缓存。下面就是看memcached的效果
6.memcache.php图片查看memcached的命中率,下载memcache.php到站点目录

# wget http://livebookmark.net/memcachephp/memcachephp.zip
# unzip memcachephp.zip
# mv memcache.php /home/www/
# chown www.www /home/www/memcache.php

 
7.修改memcache.php文件

# vim /home/www/memcache.php  //修改用户,密码
define(‘ADMIN_USERNAME’,'admin’);  //用户
define(‘ADMIN_PASSWORD’,'admin’);  //密码
$MEMCACHE_SERVERS[] = ’127.0.0.1:11211′;  //修改为127.0.0.1
$MEMCACHE_SERVERS[] = ’127.0.0.1:11212′;  //多个memcaced守护进程,就添加多行

 
效果如下

附录:
附录1.关于memcached的说明
Memcached 是一种高性能的分布式内存对象缓存系统。在动态应用,Memcached 既能提高访问的速度,同时还减低了数据库的负载。Danga Interactive 为提升 LiveJournal.com 的速度研发了 Memcached。目前,LiveJournal.com 每天已经在向一百万用户提供多达两千万次的页面访问。而这些,是由一个由 Web 服务器和数据库服务器组成的集群完成的。Memcached 几乎完全放弃了任何数据都从数据库读取的方式,同时,它还缩短了用户查看页面的速度、更好的资源分配方式,以及 Memcache 失效时对数据库的访问速度。

发表评论

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