一句话答案:一次请求的耗时 = DNS 解析 + TCP 连接 + TLS 握手 + 首字节 + 传输。用网站测速跑一次全国多节点 HTTP 拨测,结果里会把这五段分开列出:首字节高说明服务端处理慢,TCP/TLS 段高说明线路或协议协商慢,传输段偏高才是带宽不足或页面太重。拆开看,才知道该优化哪里。
网站打开慢,第一反应往往是「加配置」「上 CDN」。但动手之前有个更省钱的步骤:先确认慢在哪一段。宝塔拨测(t.bt.cn)的 HTTP 方式会把每个节点的五段耗时分别列出来,这一段段的数字,基本能把锅分清楚。
下面拿 2026-09-24 14:37(北京时间)对 www.bt.cn 的一次真实 HTTP 拨测当例子,边看边讲。
五段分别对应什么
阶段
| 在做什么
| 这一段偏高说明什么
| DNS 解析
| 域名换成 IP 地址
| DNS 服务商慢,或本地缓存没命中
| TCP 连接
| 三次握手建连
| 到服务器的线路绕、物理距离远
| TLS 握手
| HTTPS 协商加密参数
| 证书配置或加密套件协商异常,通常数值很小
| 首字节
| 请求发出到收到第一个字节
| 服务端处理慢、后端程序或数据库慢
| 传输
| 下载响应正文
| 带宽不足,或页面本身体积大
| 这五段里最值得盯的是「首字节」。它约等于总耗时减去内容下载时间,也就是大家常说的 TTFB(Time To First Byte)。首字节偏高,基本可以判定瓶颈不在网络,而在服务器。
一次实测:www.bt.cn 的五段数字
指标
| 本次运行
| 参与探测节点
| 342 个
| 成功 / 失败
| 341 / 1(成功率 99.7%)
| 覆盖区域
| 58 个(大陆 31 + 港澳台及海外 27)
| HTTP 状态码
| 全部 200
| 分段中位数(DNS / TCP / TLS / 首字节 / 传输)
| 21.8 / 40.1 / 54.1 / 385.5 / 0.1 ms
| 总耗时中位数
| 385.5 ms
| 官方聚合平均
| 550.2 ms
| 结果页的「全部节点」一行还会给出最快与最慢:最快 广东广州电信 0.051s,最慢 江苏盐城电信 2.441s。点开节点明细,每个节点的解析、连接、响应分项都能看到,跟上表的聚合数据是同一份来源。
这组数字怎么读
- 首字节 385.5ms ≈ 总耗时 385.5ms,传输只有 0.1ms。 说明对 www.bt.cn 来说,时间几乎全部消耗在「等到第一个字节」之前,下载正文可以忽略。
- DNS 21.8ms、TCP 40.1ms、TLS 54.1ms,都远小于首字节。 三段握手即使全加起来,在首字节面前只占很小一截,慢不在连线上。
- 341 个节点全部返回 200。 服务器本身能正常应答,不存在「打不开」,纯粹是快慢的问题。
结论就很清楚了:如果访客抱怨 www.bt.cn 打开慢,问题大概率在「服务端处理 + 回源」这一段,不在网络握手。反过来看自己的站:拨测结果里 DNS 或 TCP 段特别突出,就去查解析和线路;首字节突出的,去查后端程序以及服务器资源占用。
知道了慢在哪,怎么对症
首字节偏高 → 从服务端下手。 先看后端程序执行耗时和数据库查询,再考虑页面缓存。宝塔「网站加速」插件做的就是页面缓存这件事,命中后直接吐静态内容、不再重复打后端(付费插件,具体功能、价格仍以官方页面说明为准)。
TCP / TLS 段偏高 → 查线路和协议。 物理距离远、路由绕行都会把 TCP 连接时间拉长;TLS 握手正常应该很小,如果异常偏高,去看看证书链和 HTTPS 配置。这类「跨地域距离」的慢,靠调服务器参数是解决不了的,得靠 CDN 把资源分发到距离用户更近的边缘服务器。
传输段偏高 → 压缩页面。 下载正文耗时长,说明带宽吃紧或者页面太重:压图片、开 gzip/brotli、砍掉非首屏资源。想进一步分清「前端慢还是后端慢」,可以用「宝塔网站统计」的页面性能模块看 TTFB、LCP 这些指标。
需要长期盯着的站点,建议在拨测控制台创建一条定时任务并配好告警,异常了第一时间收到消息,而不是等用户来投诉。
几个提醒- 分段数据要看中位数,别被单个最慢节点带偏;最慢节点只能说明存在长尾,代表不了整体。
- 一次拨测只是一张快照,节点池和线路都在变,隔天复测有出入属正常。
- 有节点失败先看失败原因,个别节点自身环境问题不代表目标异常。
常见问题网站打开慢,怎么知道是解析慢、连接慢还是服务端慢?
跑一次 HTTP 拨测,把结果里的五段耗时摊开对比:DNS 解析、TCP 连接、TLS 握手、首字节、传输各占多少。首字节占大头就查服务端,握手三段占大头就查解析和线路。
首字节(TTFB)偏高意味着什么?
它衡量的是从请求发出到拿到第一个字节这一段的时间,约等于总耗时减掉下载正文的时间。这个数偏高,通常指向服务端处理慢、后端程序执行久或者回源慢,跟带宽、CDN 关系不大。
DNS 解析、TCP 连接、TLS 握手这三段到底是什么?
解析是把域名翻译成 IP;连接是完成三次握手;TLS 握手是 HTTPS 下协商加密参数。它们都属于「建立连接」的开销,正常都在几十毫秒量级,只有明显偏离才需要去查 DNS 服务商或线路质量。
分段耗时数据从哪个入口看?
拨测结果页的「节点明细」中,每个节点都会列出解析、连接、响应等分项;一次请求的完整五段(DNS / TCP / TLS / 首字节 / 传输)都在拨测返回的数据中,聚合层还能看到中位数和 p95。
个别节点失败,是不是网站就有问题了?
不一定,先看失败原因。大批节点一起超时,才指向目标或服务器异常;只有一两个节点失败、且报的是探针自身环境问题(比如 IPv6 不可达),那跟目标无关。本次 341/342 成功,只有 1 个失败。
分段里传输只有 0.1ms,是不是数据不准?
不是。传输段测的是响应正文下载时间,www.bt.cn 首页正文很小、又走在质量不错的线路上,0.1ms 属于正常量级。页面体积大的站点,这一段会明显厚起来。
有问题欢迎回帖。
|
|