网站无响应是怎么回事:先分连不上和连上不回
无响应只有两种:连不上,和连上了不回。先把这两件事分开,后面才有得查。
「无响应」在浏览器里长得都一样:转圈、然后超时。但底层差得很远,五段耗时里断在前两段和断在第四段,是两套完全不同的排查路线。
| 时间点 | 看到什么 | 说明 | 下一步 |
|---|---|---|---|
| 点下回车一两秒 | 立刻就报错 | 连接被拒或域名错 | 查端口与解析 |
| 一直转圈到超时 | 没有任何返回 | 包发出去没回来 | 查链路与端口 |
| 连上后卡住 | 一直显示加载中、进度条不动 | 服务端没回第一个字节 | 查后端与负载 |
| 偶发几十秒 | 时快时慢 | 连接池或带宽打满 | 看同时段负载 |
| 全地区都这样 | 多节点一致 | 站点侧问题 | 先看服务与防护 |
点下回车那一秒:连不上还是连上了没回
先拿一条命令看它停在哪:
`` curl -v --max-time 10 -o /dev/null https://你的域名 2>&1 | tail -20 ``
看到 Connected to 之后就没下文:连上了,但没回包。
连 Connected to 都没有:TCP 就没建立起来,问题在端口、防火墙或链路。
Connection refused:有人明确拒绝,先看端口有没有在监听。
三种现象对应三种查法,别混着来。
转到浏览器放弃:超时不是服务端的回答
浏览器超时是它不等了,不代表服务端一定没处理。
用 --max-time 把超时压短一点再测一次:
`` curl -v --max-time 5 -o /dev/null https://你的域名 2>&1 | tail -5 ``
五秒断、十秒也断,说明确实没回。
十秒能回来、只是慢,那不是无响应,是慢,回去看五段里哪段长。
这一步能排掉最常见的一类误判:把「很慢」当成「无响应」。
本地只能确认你这一条线。要判断是一片还是一个点,在宝塔拨测的网站测速上同一分钟选几个地区跑一轮,按省份对比。
换成手机流量再试:同一时刻的另一条路
电脑不通、手机流量能开,问题在原来那条链路。
两边都不通,问题在站点侧。
这里要注意一件事:必须同一时刻测。隔十分钟再试,服务可能已经恢复了。
换网络之后能通,别急着认定是运营商的问题,先按地区多测几个点,看是只有你这一条线不通,还是一整片都不通。
隔十分钟再打:偶发还是持续
偶发:十分钟内三次有一次不通。持续:三次全不通。
偶发的先看负载与连接数峰值,这类问题只在忙时出现。
持续的按站点侧故障处理,别在客户端上折腾。
三次的间隔最好固定,不然记录没法对比。
多地区同时测:是一个点还是一整片
回到同一批节点,在同一分钟内再跑一轮。
只有一两个省不通:链路或局部网络。
多数省都不通:站点侧,回去看服务进程和防护策略。
全部不通、连 DNS 都失败:先看解析,再看服务。
恢复之后:留下什么证据
恢复不等于查完。
把时间、地区、运营商、错误原文记下来,三样凑齐才有复现价值。
顺手再测一次五段,和故障时段的数字放一起看,能看出是哪一段被打满。
反过来,如果只 ping 通就断定服务没问题——ping 走的是 ICMP,端口不通、进程卡死、连接数打满,它一样全通,这个结论站不住。