code人生 · 2015 年 1 月 6 日 1

启用Opcache和Memcached为WordPress加速

将科技小玩意儿网站(http://wanyr.com )迁移到了阿里云服务器上面,今天也趁着中午休息的时间重置了一下阿里云服务器的磁盘,因为刚开始用那会阿里云还只提供64位的系统,可是对于我低配的小主机来说,64位根本就没有发挥的空间,反而占用大量的内存,每次多几个PHP进程,内存就直冲100%然后宕机了。今天看了一下,发现阿里云提供的镜像已经比较丰富了,所以就换到了Debian 7.5的32位版本上面,闲时的真正内存占用从50%左右下降到了不到30%,加上缓存系统使用的内存,内存利用情况比较可观。

Memcache+Zend Opcache缓存后的加载速度:

缓存后的加载速度

科技小玩意儿网站刚刚备案成功,之前是一直放在美国VPS上的,速度倒是不错,但是延时有点长,而且每次在国内想搞点什么,比如微博加V,广告联盟什么的,就提示需要备案,所以只能低头把域名服务器都放回了国内。但是阿里云的带宽比较小,我购买的配置也不算高,人一多加载速度肯定会很感人,所以还是用老办法:上缓存。

由于用了军哥的LNMP快速部署环境,自己也没费什么心,就看了一下军哥提供的集中缓存加速器,从eAccelerator、Xcache、APC到Memcache和opcache。以前我使用的是Xcache,但是这个缓存系统褒贬不一,有人认为远超eAccelerator这些老牌缓存,有人认为虽然是国人开发的,但是很不稳定。不过在我使用Xcache的一两年里面,发现它还是非常稳定的,你不去折腾,Xcache就不会惹什么麻烦。可是在WordPress里面,启用object-cache对象缓存只能在Memcache和Xcache之间选一个,我只好选择速度更快的Memcache了,毕竟Memcache是换存在内存里面的,比缓存在SSD上还是要快一些的。

然后光靠Memcache还是不满意,想继续找个更快的缓存方案,于是就把眼光放到了PHP 5.5加入的Zend Opcache上,就是以前闭源的Zend optimizer。据说这是同类缓存方案里面最快的一种了,我就把PHP升级到了5.5版本,然后修改了一下Memcached安装脚本的配置,安装成功,Memcache和Zend Opcache协同环境配置成功。

然后就是针对WordPress加速了,用谷歌搜了一下,貌似这么玩的人并不是很多,没有现成的办法,我就到WordPress万能的插件库里面去搜索Opcache了,果然还真有几个这样的插件,功能就是为WordPress引入Opcache支持的,我用了其中的一款Opcache dashboard,安装之后启用,看了一下统计情况,命中率高达98%以上,看来Opcache确实起作用了。两个缓存搭配使用,服务器负载,载入速度果然加快了很多,不过现在科技小玩意儿网站还有个问题,就是Gravatar头像的载入问题,通过浏览器的网络工具分析了一下页面载入情况,发现网页本身一秒之内就加载完了,拖慢速度的主要是Jetpack和Gravatar,目前我用了一个插件,解决谷歌字体、公共库和Gravatar的,前两者没问题,可是Gravatar依然加载很慢,看来这个插件提供的方案还是不够好。有哪位朋友有好点的方案,分享一下啊。最好是插件方案,因为我想平滑升级,不像每次升级之后都改代码。

1
0
希望看到您的想法,请您发表评论x