提醒:本文最后更新于 2881 天前,文中所描述的信息可能已发生改变,请仔细核实。
昨天谈到了使用Redis来加速Wordpress,有两种常见的方法。
第一种类似于FastCGI那种直接将php缓存;第二种就是那种利用Redis的客户端开发包连接到php,达到加速目的。
现在一试Redis+Predis(客户端开发包)来加速Wordpress。使用了Redis+(Predis+)Wordpress可以代替Varnish+W3TC+Memcache+Wordpress。本身VPS带有Nginx、FastCGI、PHP-with-OPCache。
安装Redis还有点麻烦,遇到几个问题,顺便说一下,将解决方法留给过往者。
首先交代的是,我的系统是:CentOS release 5.9 (Final) x86。
第一个问题,Redis必须要有TCL8.5以上的支持。
wget http://prdownloads.sourceforge.net/tcl/tcl8.6.0-src.tar.gz tar xzvf tcl8.6.0-src.tar.gz cd tcl8.6.0/unix ./configure make make install ln -s /usr/local/bin/tclsh8.6 /usr/local/bin/tclsh
然后才可以安装Redis,安装如下:
wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz tar xzf redis-*.tar.gz cd redis-* export CFLAGS=-march=i686 make distclean make make install cd utils ./install_server.sh
一直回车后,这时会出现这个错:
./install_server.sh: line 178: update-rc.d: command not found
exists, process is already running or crashed
解决它,必须对/etc/init.d/redis_6379进行修改,只有要“\n”删除并且输入回车,修改完毕后,保存,执行下面两句刚才没执行的命令:
chkconfig --add redis_6379 chkconfig --level 345 redis_6379 on
出现了下面这个错
service redis_6379 does not support chkconfig
请在/etc/init.d/redis_6379的类声明后面(一般是第二行),添加
# chkconfig: 2345 85 15
# description: Redis is a persistent key-value database
重新执行上面两句chkconfig,问题解决。安装完成,运行后的图:
只能说,你妹的Redis做的src包真烂。
废话也挺多的,再说说使用后的感觉。
在8M的网络下,Redis+(Predis+)Wordpress,我实在是没太多感觉,感觉还是老样子。然后我又在webluker、17ce、webkaka等测试网页做测试,结果跟以前差不多,没什么变化。导致这个原因,可能是因为使用Predis了这种Redis客户端开发包,在效率等方面其实并不占优。可能还是要使用第一种方法,第一种方法,比较麻烦,Nginx等要重新配置,所以还没尝试。
上面说的是前台的体现和感觉,再来说说后台,因为Redis现在已经被我去除卸载了,又忘记截图,所以描述下情况。
禁用了Varnish+W3TC+Memcache,后台负载变得非常小,php-fpm子进程也变少。大流量访问,后台基本上没什么过大的反应,不得不感叹其稳定和效率。命中方面,我记得是95%左右。存储的key只有几百个,对于Redis来说,真的是大材小用了。
现在还是用回Varnish+W3TC+Memcache+Wordpress。等有空直接将Redis与Nginx配在一起使用,来加速。
转载请注明转自:kn007的个人博客的《一试Redis+Predis加速WordPress》
这个要在访问量大的时候能看出性能问题吧
@爱撸小杰: 是的
折腾不息,优化不止
@Kayo: 其实最好的优化就是自己写个,抛弃wp。。。
别傻了。。
@[已删除]: 死老鲁,还不更新
這個要在vps運行嗎?
@HKSG: 不是在vps会在那个环境呢?!
Redis?没用过,只用过memcache
@Aivier: mc 属于基础模块
七七,我Redis装上去之后,页脚的数值显示0.16几s,怎么这么慢啊?于是我把他给撤了
@郑杰: 你怎么调用法?他保存是全静态的。。。全静态可能是把php时间保存了,Predis的话,要将其他缓存关了,不然更慢。w3tc、varnish等都要关闭,看你predis怎么调用。我现在存储了几个key,都是直接调用的。反正很快,我等的只是php处理时间。(为缓存是28s。用varnish+w3tc+mc+opc等是5s。只用opc+redis是2s,用varnish+w3tc+mc+opc+redis是2s+)
@kn007: 我的调用方法是参照的这篇文章
http://www.jeedo.net/lightning-fast-wordpress-with-nginx-redis/#
@郑杰: 这样做的话,貌似要有ocp比较好,因为他要经过php,然后去读,你自己再试试咯。
@kn007: 你那天在群里说你用了之后疗效甚佳,于是我和sam搞了一个redis,结果我俩的速度反而变慢了。。。
@郑杰: 我只是对个别页面进行redis存储。我那天说的很明白,有一些不改变,全静态给redis,半动态,就让w3tc联动mc管理。