文章

同一节点第二次握手更快?TLS 会话恢复会影响测速

同一节点第二次握手更快?TLS 会话恢复会影响测速

用同一个网站连续测试机场节点时,第二次往往比第一次快。除了网络波动,TLS 会话恢复和连接复用也会影响结果:客户端可能利用前一次握手得到的信息,减少后续握手工作,甚至直接复用已有连接。

如果把“第一次冷启动”和“第二次热连接”混在一起比较,就可能错误地把缓存收益归到某个节点上。

会话恢复是什么

RFC 8446 说明,TLS 1.3 可以使用先前连接建立的预共享密钥进行会话恢复。恢复连接仍要完成安全检查,但握手路径和计算工作可能与首次完整握手不同。

curl 也会在同一次命令处理多个 URL 时尽量复用连接;独立运行两次 curl 通常不能直接共享同一个连接缓存。因此,浏览器连续刷新、单条 curl 多 URL 和两次独立 curl 的结果不能混为一谈。

设计冷、热两组测试

冷启动组: 完全退出测试浏览器或每次运行独立 curl,等待短暂间隔,再记录 time_connect、time_appconnect 和 time_total。

curl -o NUL -sS -w "tcp=%{time_connect} tls=%{time_appconnect} total=%{time_total}\n" https://example.com/

热连接组: 在同一浏览器会话中连续访问同一目标,或使用能明确复用连接的测试工具,记录第二次及后续请求。

在 macOS 或 Linux 上将 NUL 换为 /dev/null。保持目标、节点、网络和时间窗口一致。

不要直接相减得出绝对结论

time_appconnect 是从请求开始到 TLS 握手完成的累计时间,不是纯 TLS 耗时。粗略查看握手增量可以观察 time_appconnect - time_connect,但 DNS、代理握手、连接复用和实现差异仍会影响数值。

如果第二次明显更快,应记录它属于热连接结果;如果第一次在多个时段都慢,才继续检查路由、丢包或入口负载。浏览器开发者工具还可能显示来自缓存的资源,需选择实际发起网络请求的条目。

机场推荐的验收方式

分别报告冷启动和连续使用表现,每组至少做几次交替测试,并记录失败。用户首次打开应用更接近冷启动,持续浏览更接近热连接;两类体验都有价值。

来源:RFC 8446 TLS 1.3 会话恢复、curl 官方手册关于连接复用与计时变量。

评论

搜索文章

正在加载搜索…