WordPress动态网站缓存方案总结

WordPress动态网站缓存方案总结

  • 老王
    管理员

    WordPress是一个综合CMS软件,基础功能稳定,插件五花八门。通过插件可以实现几乎所有类型的网站,比如购物网站,博客,杂志,论坛,以及零弈社区这样的综合社交类网站。说实话,从功能性角度来讲,Wordpress在世界上当之无愧是第一档,能与之比拟的有Drupal以及Discuz,但是wordpress在使用量上还是远远超越前两个。不过说到效率,wordpress真的是令人蛋疼的,如果你没有搞清楚其缓存机制,找到性能良好的插件,那么wordpress建站在性能上简直就是灾难。

    与Discuz这样的开箱即用中文软件比起来,wordpress需要通过大量插件来实现复杂功能。零弈社区使用了20多个插件来实现网站功能,当然主要的核心还是wordpress+buddypress+bbpress,不过零碎功能需要太多插件,比如积分榜通过Gamipress实现,邮件系统通过POST SMTP实现,验证码通过WP Captcha实现。虽然核心组件代码稳定,但是使用的插件多了,加上主题自带的一些特性,修修改改,与大公司的代码屎山如出一辙。Wordpress在默认情况下,打开一个普通网页,要消耗我双核4G亚马逊主机10%+的性能,如果使用测试工具同时发出几十个请求,网站会立即崩溃。

    老王通过自身实践,谈下如何使用缓存来提升wordpress的执行效能,提升网站并发容量。

    1,企业官方网站,博客,杂志,无交互类别,使用WP Fastcache插件。
    将页面缓存为静态文件,即可极大提升网站执行效率,是的,就使用这一个插件,将网站并发提升十倍以上是很轻松的事,因为原生效率和狗屎没什么区别。而且静态网站无需执行PHP脚本,只是定时更新会产生一点性能消耗,普通单核1G主机可以轻松胜任。

    2,交互类博客,论坛,比如以wordpress+bbpress搭建的网站+支持社区,使用W3TotalCache插件。
    BBPress的源生效率很狗屎,但是大多数缓存插件可以识别BBPress论坛页面,只要对匿名用户缓存,会员用户不缓存,基本上可以满足不大的并发需求。配合W3TC里的数据库缓存,对象缓存等选项,用户即便处于登录状态,动态页面的执行效率也比源生状态好一个级别,不是特别大的网站,不用折腾,消耗在代码以及插件上的时间,还不如买好点的服务器。

    3,动态为主的社区网站,要定制服务器级别的缓存+W3TotalCache+CDN(CloudFlare)
    比如零弈社区,完全是在Buddypress核心支持下,整合源生wordpress+bbpress,有大量交互内容,比如会员列表,积分榜,群组列表,论坛帖子,评论,文章列表,文章评论,动态流,好友系统,私信系统,等级系统等。此时光靠插件已经搞不定了。W3TC可以完成静态页面缓存,让服务器专心处理已登录用户的请求,但是它无法处理高并发,比如同时来200个请求,老王这样的双核4G服务器会立即崩溃,性能超标被亚马逊锁死。这时候需要CDN,比如CloudFlare来分担请求,防止暴力访问,DDOS攻击等。CloudFlare在世界各地都有节点,它的作用,不仅仅是缓存静态文件,比如CSS,JS,图片等,更重要的是,减少向服务器本身的请求。在动态网站中,CPU的消耗主要包括HTTP/HTTPS请求本身,文件读写,PHP脚本执行,数据库读写等。CloudFlare会把未登录用户的请求统一返回,减少向服务器的请求,从而大大减轻服务器压力,增加网站并发,同时由于其节点遍布世界,可以有效提升网站的响应速度。另外,通过给服务器配置比如OPCache,Redis,或者Memory Cache等,可以有效提升服务器的执行效率。

    除此之外,Wordpress提供了片段缓存,即Fragment Cache,可以在编写主题文件的时候针对不同的片段进行缓存。比如缓存菜单,评论区域,插件等,这是足以让wordpress动态网站执行效率匹配甚至超越discuz的根本方法,其实也不难,就是要自己写代码。后期老王会把片段缓存应用到文章页以及论坛内容页,可以极大的提升已登陆用户的体验。但目前网站执行效率已经基本满意,还是先集中精力进行内容创作,以后有空再考虑这么做。

    当然最终要执行数据库与执行脚本分离,执行节点分布式负载均衡,图片等文件系统与脚本节点分离,数据库分页分表等,这些都是大型网站需要操心的事,用wordpress的人应当基本上不会遇到这些需求,或者说遇到的时候早已经发了,雇人做就是了。

    最后说一下,如果不是特别需要,不要使用Elementor等页面构建器,不要使用复杂的主题,不要使用太多插件,也不要贪便宜使用垃圾主机,否则网站复杂起来,维护的成本会远远超过你赚钱的速度,得不偿失。

正在查看 1 个帖子:1-1 (共 1 个帖子)

哎呀,回复话题必需登录。

首页门户导航动态群组
论坛首页创业帮自媒体挨踢协会
墓志铭疯人院中年危机搜索