WordPress开启Memcached扩展和Object Cache降低数据查询压力

2016年12月20日 评论 805 1672字阅读5分34秒

本教程需要用到的文章如下:

Memcached+Memcache】WordPress安装Memcached(Memcache)缓存加速

WordPress在网页源代码中展示内存占用和加载时间

由于项目的需要,需要尽可能的将WordPress程序降低资源占用率,以及加快用户访问速度。根据文档我们可以采用Memcache或者Redis扩展来配合WordPress缓存插件一并使用(比如WP Super cache),因为我们发现在WordPress资源较多的情况下占用较多的是数据查询压力。而对于内存资源我们可以通过升级配置来解决问题。

在撰文之前大鸟还单独研究过Memcache与Redis的区别,各有优势。但是对于中小型网站数据处理以及基于WordPress程序的配置,我还是先测试看看Memcache机制是否能起到效果,这里只要能比原始降低数据查询压力就可以,目的至少可以达到。

第一、准备工作

1、我们需要在当前服务器或者网站环境中支持Memcache扩展机制,这个大鸟分享一个方法“Memcached+Memcache】WordPress安装Memcached(Memcache)缓存加速”。因为我们不同的WEB环境安装的方法是不同的,比如我们用LNMP或者OneInStack一键包的时候官方有文档,以及WDCP面板的时候也有对应的文档安装。所以大鸟这里分享的是wdcp的方法。

WordPress开启Memcached扩展和Object Cache降低数据查询压力

2、一般我们WP程序网站应该有安装类似WP Super cache缓存插件,当然还有同类的,我们只要自己喜欢就可以,这里我用的是这个。用和不用还是有区别的,建议使用,可以对静态文件起到缓存作用。

3、我们可以启动"WordPress源代码中展示内存占用和加载时间",记录下载下面安装Object Cache对象存储之前和之后的数据对比。这里大鸟在开启对象存储之前的查询数和内存占用等信息。

WordPress开启Memcached扩展和Object Cache降低数据查询压力

第二、安装Object Cache对象缓存插件

插件地址:https://wordpress.org/plugins/memcached/

1、将文档解压后,将object-cache.php文件丢到 wp-content 文件夹中,虽然是插件,但是不要放到插件文件夹里。

2、在wp-config.php文件中添加define('ENABLE_CACHE', true);启动对象缓存。

WordPress开启Memcached扩展和Object Cache降低数据查询压力

我们看到没有,查询数从原来66个降低到23个,但是内存占用是增加了一点的。毕竟Memcache是存储在内存中的缓存,资源占用会大一点点,但是数据查询压力是降低不少。

第三、配合WP Super cache启用对象缓存

1、启动Object Cache缓存

WordPress开启Memcached扩展和Object Cache降低数据查询压力

在WP Super cache高级设置里启动对象缓存。

2、查看是否生效

WordPress开启Memcached扩展和Object Cache降低数据查询压力

我们在内容里看到上图所示,就表示当前已经采用对象存储。

第四、WordPress开启对象缓存总结

1、从效果对比看,开启Object Cache对象缓存后是能起到降低查询数的效果,但是内存占用并不减少,毕竟他是在内存中缓存的。

2、如果重启服务器,则需要重新缓存数据,内存原来的缓存数据就会丢失(不用怕,不是网站程序丢失),这个也是Memcache固有的机制。

3、网上我们可以查询到各种WordPress启动Object Cache对象存储的方法,比如有直接丢下插件文件安装的,也有配合WP Super cache一并使用的,不过从大鸟的测试后发现无论是单独使用还是配合使用,查询压力是降低,个人建议可以用WP Super cache采用默认的缓存机制,然后在单独启动Object Cache对象缓存降低查询,而不是全部采用对象缓存。

第五、Memcached内存缓存小结

1、本篇文章只是在某一个页面数据库查询数和页面生成加载时间作了对比,对于WP Super cache的Memcached内存缓存到底有多少效果不能一概而论,不同的主机环境效果也不同。

2、为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。

  • 我的微信
  • 分享宝塔面板建站技术交流等!
  • weinxin
  • 微信公众号
  • 关注本博公众号
  • weinxin
  • 版权声明: 发表于 2016年12月20日
  • 转载注明:https://www.daniao.org/715.html

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: