kn007的个人博客
♥ You are here: Home > 软件与网络 > php > 一试Redis+Predis加速WordPress

一试Redis+Predis加速WordPress

by | 44 Comments

提醒:本文最后更新于 2881 天前,文中所描述的信息可能已发生改变,请仔细核实。

Redis_logo昨天谈到了使用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,问题解决。安装完成,运行后的图:
截图201307160802
只能说,你妹的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

donate
有所帮助?

Comments

44 Comments立即评论
  1. 这个要在访问量大的时候能看出性能问题吧

    1. MOD回复

      @爱撸小杰: 是的 :lol:

  2. LV1回复

    折腾不息,优化不止

    1. MOD回复

      @Kayo: 其实最好的优化就是自己写个,抛弃wp。。。

  3. 别傻了。。

    1. MOD回复

      @[已删除]: 死老鲁,还不更新

  4. 回复

    這個要在vps運行嗎?

    1. MOD回复

      @HKSG: 不是在vps会在那个环境呢?!

  5. LV2回复

    Redis?没用过,只用过memcache

    1. MOD回复

      @Aivier: mc 属于基础模块

  6. LV4回复

    七七,我Redis装上去之后,页脚的数值显示0.16几s,怎么这么慢啊?于是我把他给撤了

    1. MOD回复

      @郑杰: 你怎么调用法?他保存是全静态的。。。全静态可能是把php时间保存了,Predis的话,要将其他缓存关了,不然更慢。w3tc、varnish等都要关闭,看你predis怎么调用。我现在存储了几个key,都是直接调用的。反正很快,我等的只是php处理时间。(为缓存是28s。用varnish+w3tc+mc+opc等是5s。只用opc+redis是2s,用varnish+w3tc+mc+opc+redis是2s+)

    2. LV4回复

      @kn007: 我的调用方法是参照的这篇文章
      http://www.jeedo.net/lightning-fast-wordpress-with-nginx-redis/#

    3. MOD回复

      @郑杰: 这样做的话,貌似要有ocp比较好,因为他要经过php,然后去读,你自己再试试咯。

    4. LV4回复

      @kn007: 你那天在群里说你用了之后疗效甚佳,于是我和sam搞了一个redis,结果我俩的速度反而变慢了。。。 :o :o :o

    5. MOD回复

      @郑杰: 我只是对个别页面进行redis存储。我那天说的很明白,有一些不改变,全静态给redis,半动态,就让w3tc联动mc管理。

icon_wink.gificon_neutral.gificon_mad.gificon_twisted.gificon_smile.gificon_eek.gificon_sad.gificon_rolleyes.gificon_razz.gificon_redface.gificon_surprised.gificon_mrgreen.gificon_lol.gificon_idea.gificon_biggrin.gificon_evil.gificon_cry.gificon_cool.gificon_arrow.gificon_confused.gificon_question.gificon_exclaim.gif