●为什么很多人觉得“明明测速几百兆,开个 Google 却要卡三秒”?
在技术咨询中,最常见的抱怨莫过于:“我买的节点用 Speedtest 能跑到 300Mbps,为什么开网页还是转圈?”
答案是:测速软件跑的是长连接大并发下的「持续吞吐量(Throughput)」,而日常浏览网页依赖的是成百上千次微小请求的「连接建立时延(Handshake Latency)与失败重试」。
1. 日常网页加载背后的真实世界
打开一个现代前端网页,浏览器通常需要发起 60 到 150 个子请求:HTML、CSS、字体、多个 JS chunk、API 接口和数十张图片。
- 如果线路丢包率达到 5%:
- 这 5% 的丢包对传输几十兆大视频影响有限(TCP 窗口会自动滑移并补发)。
- 但如果刚好丢掉了某个关键 JS 脚本的 TCP SYN 握手包或 TLS Client Hello,浏览器就要等待 1 秒至 3 秒 的超时重传定时器。在这 3 秒内,页面整体渲染被完全阻塞,你感受到的就是“死死卡住转圈”。
2. 吞吐量(Throughput)受什么制约?
- 节点出口带宽与服务商网卡配置。
- 单连接 TCP 拥塞控制算法(BBR / CUBIC)。
- 本地 Wi-Fi 频段与设备软解性能。
- 只要持续下载一个 100MB 文件,TCP 窗口跑起来之后,即使有 2% 的轻微抖动,也能跑出很高的速率。
3. 连接建立与 HTTP 失败率受什么制约?
- 本地到代理入口的物理往返延迟(RTT)。
- 节点入口与出口服务器的 CPU 负载及系统文件描述符(FD)占用。
- 代理客户端本身的路由分流计算耗时。
- 域名 DNS 查询(本地解析还是远端解析)。
●科学的排查顺序
当你觉得“网慢”时,请严格按以下两步诊断:
- 第一步(查连接质量):使用 /lab/http-latency/ 发起轻量轻频探测,观察 HTTP 请求失败率 和 中位耗时。
- 若失败率 > 0% 或中位耗时超过 500ms,说明是链路丢包或入口拥塞,此时测速再快也没有意义,优先更换节点或切换专线。
- 第二步(查带宽吞吐):确认第一步 0 失败、耗时稳定后,再进入 /lab/download/ 进行受控文件吞吐测试,检查大流媒体承载力。