网站打开慢怎么解决问题
网站打开慢怎么解决问题,答案可以压成五段:dns、tcp、tls、ttfb、下载。哪段最长,就改哪段。顺序别乱。
先跑一条命令,把五个数拿到手:
`` curl -o /dev/null -s -w 'dns=%{time_namelookup} conn=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total}\n' https://你的域名 ``
五个数是累计值,段耗时要相减。
五段里哪段最长,就该先动哪一段
减完,最长的那段就是今天的方向。别一次改三段。
只看总分,只能得出一句「慢」,改起来全靠猜。
减一次,五段就分出主次了。
前三段长,跟服务器没关系
dns、tcp、tls 三段都发生在请求到达服务器之前。
dns 长:同一时刻问两家解析,一家有、一家没有,就是被拦。
tcp 长:按地区分组,只有几个省慢,是那条链路的事。
tls 长:数证书张数,只发一张就是缺中间证书。补上再测。
这三段长的时候,重启服务器、改代码都是白做。
首字节长,是后端在算
这一段才是服务器在处理。前面的锅都不在这。
先看缓存:同一页面连开两次,第二次明显短,说明缓存有效。
再看接口:拆成几个请求分别测,只改最长那一个。
一次只改一处,改完再测。同时改两处,说不清是谁起的作用。
下载段长,是页面自己太重
前四段都短、只有下载长,问题在页面本身。
先看请求数,再看单个体积。请求数更好减。
合并能去掉的资源,再谈压缩,最后才考虑带宽。
这一类不用碰服务器。改资源就行,改完体积会自己降。
只有几个地区长,是那条链路的事
一个人测只代表一条线。
跑多地区多运营商节点,按地区分组。
集中一家运营商:那条链路的事。
分散在各地:回到站点侧,别再从网络下手。
这里我用宝塔拨测的网站测速跑一轮,分组一开就看得清。
三次都长才算问题,一次不算
同一组节点、同一时段,连测三次。
三次都是同一段长,才是稳定问题。一次重不算。
一次一个样,先记着,别改配置。记着比改着有用。
改配置之前,先有三次同向的结果。这是动手的门槛。
现在先跑那条命令,把五个数抄下来,减一次,把最长那段圈出来——今天只改那一段。