网站CDN测速:拆开解析、握手和回源,看慢在哪一段
前阵子帮一个客户看 CDN,顺手把过程记下来,谁碰到同样的问题可以照着走一遍。
他跟我说加完 CDN 之后广州打开要十几秒。我让他把域名发我,跑了三次测速,DNS 那一段两秒多,后面四段都正常。我说你先别动源站,门都没进去呢。后来一问,他上个月换过 DNS 服务商,默认线路解析到了一个很远的节点。改回来,等 TTL 过期,再测两百毫秒,正常了。
所以第一段是解析。DNS 几十毫秒算正常,几百毫秒以上就先查调度和线路,别在源站上找原因。
第二段是握手。还有个客户,域名挂了十几张证书,链不完整,握手四百多毫秒,他一直以为是程序慢。用 openssl s_client -showcerts 拉一下链,中间少了一张,补上就好了。这一段在 TTFB 之前,表现就是 TCP 或者 TLS 时间偏高。
第三段是回源。缓存没命中,边缘得回源站拿内容,源站慢,边缘再快也没用。确认办法很简单,同一个地址连点三次,第一次慢后面快,就是回源;命中率低于八成,先去查缓存规则,带参数的 URL 最容易被当成不同页面。
这三段对到数据上,就是宝塔拨测的网站测速那五段,DNS、TCP、TLS、TTFB、下载。DNS 高查调度,TCP 或 TLS 高查证书,TTFB 高而下载正常就查回源。
复测用同一组节点,改前改后各跑一次,只看动过的那段。别拿总分下结论。就这样吧。