用户感知的“快”,很大程度上取决于第一个字节什么时候到。首包时间可以被拆成三段,每一段都能单独优化。
第一段:连接建立
传统 TCP + TLS 需要 2–3 个往返才能开始传数据,在 150ms 往返的链路上就是 300–450ms 的纯等待。
采用 0-RTT / 会话复用后,重复连接可以把这段压缩到 0–1 个往返,实测首包时间下降 40% 以上。
第二段:请求排队
浏览器对同一域名有并发连接上限,前面的请求没回来,后面的就得排队。使用连接复用后,多个请求可以共享同一条连接。
客户端侧的做法是预建连接池:在用户实际发起请求前就保持若干条就绪连接,省掉建连等待。
第三段:服务端与链路
剩下的时间取决于目标服务本身的处理速度和链路质量,这一段只能靠选择更优出口与更低拥塞的线路来改善。
调度引擎会把历史首包时间作为节点评分的一部分,长期表现差的节点会自动降权。
要点速览
- 0-RTT 会话复用是首包优化的最大杠杆
- 连接池预热能消除排队等待
- 节点评分引入首包时间,持续优化出口选择
想直接体验文中提到的能力?
立即下载
下载客户端,全平台支持,新用户可享免费体验时长。