最近都在研究缓存的问题,先是APC,显示Memcache,目的还是要将WordPress的速度提起来.
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。
它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。
Memcache官方网站:http://www.danga.com/memcached
首先去官方下载最新的版本,现在最新的是memcached-1.4.1 ,然后就编译安装了.
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新稳定版本是libevent-1.4.12 .
1.先进这个两个文件下载回来,放到临时目录下
cd /usr/local/src
wget http://memcached.googlecode.com/files/memcached-1.4.1.tar.gz
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
2.先安装libevent:
tar zxvf libevent-1.4.12-stable.tar.gz
cd libevent-1.4.12-stable
./configure –prefix=/usr
make
make install
3.安装memcached,安装时还要指定libevent的安装位置:
tar zxvf memcached-1.4.1.tar.gz
cd memcached-1.4.1
./configure –with-libevent=/usr
make
make install
4.然后就可以启动memcached的守护进程了:
/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.10 -p 12000 -c 256 -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,
如果要结束Memcache进程,执行:
kill cat /tmp/memcached.pid
下面就是安装Memcache的PHP扩展
1.在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
2.安装PHP的memcache扩展
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar vxzf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install
3.上述安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/
4.把php.ini中的extension_dir = “./”修改为
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2006xxxx/”
5.添加一行来载入memcache扩展:extension=memcache.so
最后重启你的phpfastcgi进程或者apache, Memcache就安装成功了.
PS.下次有空说说WordPress 怎么应用Memcache
猫猫的速度没以前快了
@Showfom
大庆月….大家都差不多了~~
猫猫用的哪家 VPS??
现在用的daivps的vps
猫猫的这个模版漂亮啊
猫哥,话说小负荷blog貌似super cache生成静态页貌似就够了吧,有必要启用memcache么?
很久没有用super cache了,Nginx用super cache有点麻烦,而且生产的文件比memcache硬盘缓存版的还要多,所以现在改用memcache内存缓存,才占用2.5M
研究好了速度快外 希望加深对其他的研究啊
毕竟这个文章只是对同样的wordpress的linux平台而言哦
针对面太窄了点
现在手头服务器一把,而且同一个机房,相互速度很快,这样用memcache分布式负载正好
话说请教下-m指定内存大小有啥子计算方式没?
心里没底,也不知道如何测试比较合适的值
谢谢
计算方式?其实你要适合值吧?有个文件可以看分配给memcache内存的利用率的..Google,memcache.php
先假设你的服务器都有内网IP,都可以相连..memcache应用到WP..
我发现一个问题,就是WP的memcache,每个memcache的进程端口只能对应一个WP博客,否则缓存数据混乱,这是我测试得到的,或许我的环境问题,你也可以测试下..
如果按照我上面的结论.那么就要建立多个进程
/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.10 -p 12001 -c 256 -P /tmp/memcached.pid
/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.10 -p 12002 -c 256 -P /tmp/memcached.pid
/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.10 -p 12003 -c 256 -P /tmp/memcached.pid
多谢猫神!
还真不知道是不是内网可以访问…回头提个ticket问问…
两只猫在这里猫言猫语啊!
还是有10个query啊
test
这模版看起来挺费神。