抓包实战系列第26篇 · 阶段2收官之作
相关服务:新加坡大带宽服务器租用
阅读本文约需25分钟,建议先收藏,遇到「慢」问题时对照查阅
写在前面
线上最难查的故障是什么?
不是「挂了」。

挂了至少死得明明白白——报错日志、监控告警、服务宕机、流量跌零,证据链清晰得像刑事案件现场。
是「慢」。
慢得特别暧昧。
用户说:「页面转了半天才出来。」
后端说:「我接口50ms就返回了啊。」
前端说:「我这边收到数据了,渲染也没问题。」
运维说:「带宽和CPU都正常,网络也没丢包。」
测试说:「我本地复现不了啊。」
产品经理说:「是不是服务器又不行了?」
所有人都在说「不是我的问题」,但用户确实在等,每一秒都在流失。
今天花一万字,把这件事彻底聊透:当系统「慢」的时候,如何用抓包把耗时拆到每一段链路上,让证据说话,而不是让职位最高的人拍板。
第一章 认知篇:慢不是一个点,是一条链
1.1 一次请求的一生
一次HTTPS请求,从用户手指点击屏幕,到页面渲染完成,至少经过这些环节:
用户点击
↓
DNS解析(域名→IP)
↓
TCP三次握手(建立连接)
↓
TLS握手(加密通道)
↓
请求发送(上行数据)