WordPress优化方案,解决WordPress页面加载慢的问题,减少WordPress PHP函数调用导致的服务器CPU运行负载占用过高的问题。
起因是站长,也就是小森我在搭建本站“雾创岛”时,使用的是市场最大最热门的博客程序WordPress。
但因众所周知的WordPress非常吃服务器性能的问题,导致站长的“雾创岛”访问的人数一多就会出现页面卡顿、加载缓慢、服务器运行负载过高的问题。
问题经过:
站长原本使用的服务器配置为2h4g 30mbps 的服务器,CPU为AMD EPYC 7452,可以说配置不算低,但是我在itdog.cn使用网站测速测试的时候,服务器负载状态直接狂暴100%,我测试访问时,页面加载时间居然超过了50秒钟才显示出来。
刚开始站长还以为是服务器配置性能带不动WordPress,所以站长又购买了一台4h4g 10mbps 带 200Gbps 的服务器,CPU为Intel(R) Xeon(R) Platinum 8272CL,性能已经算是很强大的了,结果再次测试,负载占用还是满了。
后面站长又买多了一台4h4g的服务器,三台服务器组成负载均衡,结果是服务器负载稍微有些改善,三台机子负载都在百分之80%左右,但是页面打开时的加载速度还是超过20-30秒,itdog.cn测速也是黄一堆红一堆的。
站长还是不死心,又购买了CDN(内容分发网络),配置了几个小时,结果还是一样呜呜呜┭┮﹏┭┮。
此时站长都快要死心了,突然想到去测试了别人的站点,结果您猜怎么着?全绿!打开速度延迟不高于1秒!还是阿里云香港的机子,要知道阿里云香港的机子CPU配置最高也就两个核心(2h16g),那肯定不是服务器带不动的原因,肯定有别的原因!
后面经过询问网友,通过网友的指导,我才发现了问题出现在了哪里。
优化前:
解决过程:
站长通过询问网友,才知道问题居然是出现在了缓存上!
刚开始在群内跟网友请教的时候,站长说用itdog.cn网站测速的时候负载占用炸了,有个网友说“用itdog的网站测速都相当于一次小型的DDOS了,不炸才怪”。
itdog测速的确很猛,毕竟itdog测速时会有几十上百台服务器同时对网站发起访问请求,对网站的并发性能要求非常高,但是别人2h的服务器都能扛住,我的4h,而且还带DDOS防御的服务器怎么可能会扛不住呢?所以也并不是itdog小型DDOS的问题。
就在我一筹莫展之时,一位网友分享了它的测速结果,打开速度很快,itdog测速全绿,然后它又分享了它在使用的插件:WP Super Cache(超级缓存)
站长也跟着安装了这款WP Super Cache(超级缓存)插件,嘿!再一测,全绿了!
优化后:
总结
折腾了这么久,结果就是一个缓存问题,安装个WP Super Cache(超级缓存)插件就解决,各位站长,如果您也在使用WordPress,而且也出现了和本站长同样的问题,不妨也试试,直接在WordPress插件商店搜索WP Super Cache
安装就可以了。
WordPress使用了缓存插件后,相当于缓存插件把用户访问过页面写成了一个静态的HTML文件,当后面的用户再访问时就只会访问到这些静态的缓存页面,从而减少对WordPress的PHP函数调用和Mysql数据库访问,服务器的性能占用自然就下降了。
需要注意的是WP Super Cache(超级缓存)插件的缓存并不是永久的,缓存的数据具有时效性,当某个页面的缓存超时后便会重新缓存一次,这并不会对您的服务器性能产生多大的影响。当然您也可以自定义页面的缓存有效时间,只需要通过设置WP Super Cache(超级缓存)插件的页面缓存超时时间即可。
后面站长又为了减轻WordPress频繁访问Mysql数据库的压力,又给安装了Redis Object Cache插件,它是的原理将数据库的文件缓存到Redis,达到减轻检索Mysql数据库的压力,大大提高WordPress数据返回的速度,也可以加快页面的加载响应。当您的WordPress博客有大量的动态请求内容时可以使用此插件。
注意:需要Redis Object Cache插件生效还需要在服务器安装Redis,再安装PHP的Redis拓展才能使用数据缓存。
以上两个插件都可以在WordPress插件商店搜索下载,它们都是免费的,当然您也可以通过本站下载这两个插件,然后再上传到WordPress。