与主机服务器失去连接。连接超时
一看到这个报错,很多人的第一反应是服务器崩了,直接去重启。多数时候服务器还活着,只是这一趟没走通。
与主机服务器失去连接。连接超时,先别重启。看卡在第几段,就知道该查哪一层。这三段里任何一段卡住,是没连上;ttfb 卡住,是连上了没人回话;下载段断在半路,是已经开始传但没传完。
三段没走完,是根本没连上
dns、tcp、tls 三段都过了,才算把门推开。任何一段卡住,请求都没到服务器。
判据是哪一段超时。dns 超时,换一家解析再试。tcp 超时,先换一个节点,还超时再换线路。tls 超时,先看证书链是否完整、有没有多余跳转;证书没问题,再看握手有没有被链路或防火墙拦。
这三段里还有一路容易被算错:测速端自己解不出或自己超时,也会显示成 dns 段失败。这一路跟站点无关,换一台机器复测就能排除。
用宝塔拨测的网站测速跑一次,五段耗时和状态码是分开列的,先看卡在哪一段。
ttfb 卡住,是连上了没人回话
ttfb 从请求发完算到收到第一个字节。这一段卡住,说明连接已经建立,是服务端没在时限内应答。
判据是 tls 已成功、ttfb 几乎每次都落在同一个数值上。两条同时成立,问题在后端。这个「同一个数值」是经验判断,不是标准。
那么去看进程有没有被占满、数据库有没有慢查询、有没有在等外部接口。
下载段断在半路,是传了一半
下载段从第一个字节算到最后一个字节。这一段断,说明响应已经开始,是传输中途停的。
判据是状态码已经返回、字节数没传完。这一种和连不上最像,但性质不同,不是连不上,是没传完。
那么先看页面总字节数和单个最大文件。这两个都不大,再看这条线路有没有丢包。
先按卡在第几段分层,别一上来就重启。一次只改一处,改完只比那一段的耗时。
<figure><img src="https://image.bt.cn/20261113/c02324f2a111d82e689b92c558ae8b8c.svg" alt="超时的三个停点:没连上、没人回话、传了一半" loading="lazy" width="1200" /><figcaption>三个停点,处理方式完全不同</figcaption></figure>