访问php+mysql网站速度不稳定的故障排查

本文内容主要是记录故障排除的思路,如有问题请指正。
在本地测试新建的网站各种流程顺利,上传至云端后访问网站不同页面开启速度不一,有秒开的,或者最长等120秒才打开的,偶尔还出现卡死问题。
最初认为上传的代码有问题
重新下载代码本地测试,依然流畅。
整理一下思路,分析有可能一下原因:
1.云端服务器的性能不如本地。(个人网站各种便宜)
2.网站访问延迟过高或不稳定。
2.图片压缩不够,网页开启加载时间过长。
3.php和mysql联动效率问题。

逐个排除一下
问题1:登陆云端后台查看服务器状态,cpu、内存、网卡流量一切正常。(没有人看的网站,当然一切正常)不存在性能不足的问题。

问题2 :通过本地ping 域名和用站长工具测试网络访问速度,基本在60~120ms,0掉包。不存在访问延迟和掉包问题。

问题3: 图片压缩不够,网页开启加载时间过长。通过chrome浏览器的-检查-Networ 功能查看页面加载情况
访问php+mysql网站速度不稳定的故障排查
图片多数在30ms左右就加载完成了,故也不是网页开启慢的主要问题。

那就剩最后一个问题了:php和mysql联动。
提前登陆云端数据库后台,当访问网站出现卡顿的时候,数据库后台查看当前会话情况,发现有多个相同的查询语句处于锁等待的状态。问题找到了!
复制问题语句
SELECT DISTINCT biao_A.*
FROM biao_A, biao_B, biao_C,biao_D
WHERE biao_B.Net_id = biao_A.id AND biao_B.biao_C_id = biao_C.biao_C_id AND biao_C.biao_C_id = 99

问题出在多表联查语句上: “FROM biao_A, biao_B, biao_C,biao_D ” 整个条件语句“WHERE biao_B.Net_id = biao_A.id AND biao_B.biao_C_id = biao_C.biao_C_id AND biao_C.biao_C_id = 99 ”中与biao_D都没有关联,这个失误导致与本次查询结果不相关的biao_D参与了进来,大大降低了查询效率,直接影响网站的页面呈现。

应在语句中删除 biao_D
本地测试mysql查询速度

修改前:0.130秒
访问php+mysql网站速度不稳定的故障排查
修改后:0.0007秒
访问php+mysql网站速度不稳定的故障排查
将修改的代码上传至云端,再次访问网站速度明显加快。

转载于:https://blog.51cto.com/13550869/2375804

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值