网站突然变得很卡,是什么原因?求解决办法!

数据库 潘老师 2年前 (2021-12-23) 1227 ℃ (0) 扫码查看

最近潘老师的个人博客站突然变得非常卡,打开一个网页响应有时达到10几秒,等到页面加载完成,用户早就没耐心关闭页面了。别说用户了,我自己用着都受不了。一直不知道是什么原因,虽然找到了一些原因,但没有从根本上解决问题,下面来说说,具体情况。

也就是最近一两个星期的事情,记得中间有一次被来自fofa.so这个网站的攻击,但应该不是主要导致我网站卡顿原因,为了排查具体原因,目前效果如下:

1、找出耗时请求
打开网页,通过chrome浏览器F12network,查看了网络情况,揪出了一个share.js文件加载时间超时,因为这个文件引用了远程cdn上的其他js文件,而这个cdn贼慢,经常超时,如下图:
网站突然变得很卡,是什么原因?求解决办法!

解决办法:

因为这个js主要用于分享文章的,基本没什么大用,我就直接把其删掉了,直接不引用了,如果你有需要,可以把远程的js下载下来,存到自己的服务器再去引用。
2、发现TTFB耗时最长
虽然上面去掉超时的js,有一定的效果,但是网站响应时间还是很长,发现主要是Wating(TTFB)耗时最多,所谓TTFB其实就是等待服务器响应的时间,一般小于500ms最好,我的竟然有时候达到10s左右,甚至更高,直接导致网站卡死,这才是根本原因所在!看下图:
网站突然变得很卡,是什么原因?求解决办法!

解决办法:

这个时间长只能说明后端服务器处理请求速度太慢,而慢的原因有很多,可能是程序代码问题,可能是网络通信问题,可能数加载的数据量太大问题,也可能是数据库查询太慢的问题。

而潘老师最后主要将问题锁定在数据库查询太慢这个问题上!原因是:
1)服务器内存、CPU和带宽使用率都很低(基本都在5%以内),基本排除服务器性能问题。
2)代码什么的最近都没改过,和以前一样。
2)我本地远程连接数据库查询发现一个简答的sql,单表就4000条数据,根据一个字段条件就查询出一条记录,竟然第一次耗时达到5s左右,后面连续查由于mysql数据库缓存会很快,但偶尔也会很卡,因此主要问题就在数据库上,如下图:
网站突然变得很卡,是什么原因?求解决办法!
完全不能忍啊,直接找阿里云反馈,提交工单,等待工程师反馈,不仅反馈慢,而且感觉很不专业(估计这业务是外包给外面公司做了),基本啥也不会,最后直接建议我开RDS,我特么就这个一个博客小站,还开RDS,那我不如直接搞个云ECS服务器了,真的太垃圾了。
网站突然变得很卡,是什么原因?求解决办法!
最后,感觉大概率原因,就是因为数据库共享的服务器(阿里云数据库所在服务器和自己的虚拟主机不再同一个服务器上)上有部分人的数据库占用了过多的CPU和内存,直接影响其他数据库的整体性能,变得非常不稳定。

对于这个问题,没有什么特别好的解决办法,就连重启mysql的权限都没有,目前能继续优化的有:
将网站右侧的小工具启用的缓存,有一定的效果,能减少页面几十次的数据库查询,节约一些时间,还没试过wp super cache缓存插件,应该会有更好的效果。

数据库问题,后面估计就只能不用阿里云,搬到腾讯云,百度云去!唉,做个小站,还真不容易!

既然数据库问题不能解决短时间又不能换服务器平台,最终潘老师尝试了下缓存插件,效果真是非常非常明显,简直快如闪电,所有页面都是秒开,但缺点就是页面内容更新就不会那么及时,不过像我这种小站,对文章实时性基本没有要求,并且更新频率很低,迟点反映出更新也无所谓,关键是现在快啊,下面说下这个插件:WP-Optimize,具体的这个插件的其他功能使用在下一篇文章中单独说,先说下安装这个插件后对于缓存这块的使用:
1)打开缓存-开启页面缓存
网站突然变得很卡,是什么原因?求解决办法!
2)打开预加载-最好准备好站点地图再运行预加载
网站突然变得很卡,是什么原因?求解决办法!
3)等待加载完后,清除浏览器缓存,重新访问自己的网站,发现速度贼快,按F12审查元素会发现如下一段注释,说明是缓存的页面
网站突然变得很卡,是什么原因?求解决办法!

ok,以上就是网站突然变得很卡,是什么原因,怎么解决的全部内容,如果你有什么好建议,请评论告知!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/database/4048.html
喜欢 (3)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】