一次完整的 HTTP 请求包括:域名解析、建立 TCP 连接、发起请求、服务器接收请求并返回处理结果、浏览器对 HTML 代码进行解析并请求其他资源,以及对页面进行渲染呈现。其中,HTTP 的请求过程经历了用户本地客户端、客户端到接入服务器之间的网络节点以及服务器。在这三个环节中,任意一个环节出现问题都有可能导致网站访问卡慢。
排查思路
建议您按照以下思路依次排查问题。
排查思路详细说明
1. 检查本地网络
更换手机热点或其他网络测试访问网站是否卡慢。如果可以访问速度正常说明服务器的网络配置正常,请排除本地网络故障后重新测试网站访问速度。
2. 检查网络链路
通过本地客户端 ping 服务器公网 IP 地址,确认是否存在丢包或延时高的情况。
● 若存在丢包或时延高的情况,请使用 MTR 进行诊断。有关操作请参阅 使用 MTR 诊断网络问题。
● 若不存在丢包或时延高的情况,请检查服务器资源(CPU、内存、带宽等)是否存在占用过高等问题。
3. 检查服务器
服务器的 CPU、内存和带宽等资源占用率过高可能导致网站访问卡慢。
问题定位
● Windows 操作系统本身提供较多工具可以定位问题,包括任务管理器、性能监视器(Performance Monitor)、资源监视器(Resource Monitor)、Process Explorer、Xperf (Windows server 2008 以后)和抓取系统 Full Memory Dump检查。在流量大的情况下,您还可以使用 Wireshark 抓取一段时间的网络包,分析流量使用情况。
● Linux操作系统执行命令:tcp ,查看当前系统的运行状态。
问题处理:排查进程是否正常,并分类进行处理。
● 异常进程:建议您手动关闭进程,您也可以借助第三方工具关闭进程。
4. 检查域名解析是否正常(使用域名无法访问时适用)
如果使用 IP 地址可以访问,但域名访问失败,则可能是域名解析异常问题造成网站无法访问。网站的访问与域名的状态、解析是否生效、网站网络环境等多个环节中的任意一个环节出现问题,都会导致网站无法访问。
● 检查域名解析。未正确配置域名解析可能导致域名无法访问。可以前往 DNS 服务控制台查看域名解析详情。
● 检查 DNS 服务器配置。如果 ping 域名显示找不到主机可能是 DNS 服务器速度慢,导致的访问卡顿。
5. 检查其他问题
根据服务器资源使用情况,判断是否为服务器负载引起的资源消耗增大。
● 是,建议优化程序或 升级云服务器配置。您也可以通过购买新的服务器,分担现有服务器的压力。
● 否,建议查看日志文件,定位问题并进行针对性的优化。