今天客户反应网站访问特别慢,每次都要等几十秒才能打开一个页面。客户的这个网站是使用 WordPress 开发的,下面就记录一下排查过程及解决方案。
一、检查服务器网络
第一反应肯定是 ping 下网址,结果 ping 结果正常。之后又远程连了一下服务器,也可以正常登录服务器、而且速度是正常的。那么可以确定不是服务器网络问题。
二、检查页面引用的静态文件
因为服务器网络正常,网站也不是打不开、只是响应的特别慢。那么接下来我通过 Google Chrome 浏览器的开发者工具查看了页面内容加载详情,发现引用的静态文件加载速度都是正常的。为了确认我还特意测试了一下静态文件访问:包括静态图片、静态html页面甚至一个只有一个 echo 的php文件,响应速度都很快。那么证明不是 web 环境的原因,问题肯定出在网站程序上了,也就是 WordPress 。
三、排查 WordPress 主题
既然确定了是 WordPress 的问题,那么首先想到的肯定是检查主题文件,因为主题文件比较多,我没一个一个的查看,而是直接将主题改为官方默认主题测试。结果响应速度仍然很慢,那说明问题不是自定义主题导致的。
四、排查 WordPress 插件
如果不是主题导致的响应缓慢,那就很有可能是插件的原因。同理,因为安装的插件比较多,我采用了最暴力最直接的手段,也就是直接将插件目录:/wp-content/plugins 改了个名字:/wp-content/plugins_bak,这样就禁用了全部插件,网站响应速度立马变的正常了,到此客户反馈的也是客户最着急的访问速度问题已经解决。
接下来慢慢确定是哪个插件导致的即可,登录到后台中逐一启用插件测试,每启用一个插件查看一下响应时间,最终在启用了“Wordfence安全”插件后,响应速度又变的特别慢,查了一下,发现是“Wordfence安全”在扫描网站导致的,将扫描策略和时间修改一下就可以了。