结论看分段耗时,不看总耗时。

image

image


结果页按运营商分组对比,快速区分链路差异与源站问题

网站测速把一次访问拆成几段,哪一段占了大头,责任方就在哪一边:解析、连接、握手阶段偏高多为网络或链路问题;TTFB 偏高是后端处理慢;下载阶段慢则和带宽或页面体积有关。

一张对照表

异常阶段 大概率是 处理方向
DNS 解析慢 解析服务或未就近解析 换权威 DNS、接 CDN 解析
TCP 连接慢 链路质量、跨网互联 查路由追踪,换线路或加 CDN
TLS 握手慢 证书链、加密套件 开 TLS 1.3、补全证书链
TTFB 慢 服务端处理 查数据库、接口、代码逻辑
下载慢 带宽或资源体积 压缩图片、开 gzip/brotli、加带宽

前两行是网络的事,第三行是配置的事,后两行是服务端和资源的事。

举个实际例子

某站点用户普遍反馈慢,测速结果:DNS 0.03 秒、连接 0.04 秒、TLS 0.06 秒、TTFB 1.8 秒、下载 0.2 秒。

总耗时 2.1 秒,看起来像是「网络慢」。但拆开看,网络三段加起来只有 0.13 秒,93% 的时间耗在 TTFB 上——服务端从收到请求到吐出第一个字节,用了 1.8 秒。

这种情况去换机房、加带宽、上 CDN,全是浪费钱。该做的是查后端:数据库慢查询、接口串行调用、缓存没命中、程序里有阻塞逻辑。

反过来,如果 TTFB 0.08 秒、下载 1.9 秒,那就是资源体积问题。一张没压缩的 4MB 首页大图,足够让首屏卡两秒。

为什么不能靠「感觉」

因为人的感知只分「快」和「慢」,分不出是哪一层慢。

运维侧常见的误判是:用户说慢 → 立刻看服务器负载 → 负载不高 → 结论是「网络问题」。这个推理链条里跳过了最关键的一步:先确认慢在哪一段。

分段耗时就是补上这一步的工具。

还有一种情况:都正常,但用户还是说慢

如果测速结果全部健康,用户仍反映慢,那问题大概率在浏览器端:

  • 页面 JS 执行慢、渲染阻塞
  • 第三方统计、广告脚本拖慢加载
  • 用户本地网络或设备问题
  • 首屏资源请求过多,串行加载

这类问题拨测看不到,因为它只测服务端返回 HTML 的速度,不执行脚本、不加载子资源。需要用浏览器开发者工具的 Performance 面板看。

结论

一句话:先分段,再下结论。

网络问题和服务端问题的处理成本差一个数量级,判断错了,钱和时间都白花。