温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-30 23:53:12 来源:网络 阅读:497 作者:可小果 栏目:web开发

本文内容主要是记录故障排除的思路,如有问题请指正。
在本地测试新建的网站各种流程顺利,上传至云端后访问网站不同页面开启速度不一,有秒开的,或者最长等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网站速度不稳定的故障排查
将修改的代码上传至云端,再次访问网站速度明显加快。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI