CDN 的承诺是「离用户更近」。可如果缓存没命中,它做的第一件事是回源,这时候用户等的是「边缘到源站」这一整段。

比直连还慢,很常见。

两次测试,一个差值

在 网站测速 里跑两次。第一次,正常测。请求打到最近的边缘节点,走的是 CDN 链路。

第二次,高级选项里指定解析,把域名强制指到源站 IP。请求跳过 CDN,直接打到源站。

两次的 TTFB 相减,大致就是回源的成本。差得多,说明缓存命中率低或者回源链路差。

怎么确认是不是缓存问题

同一个 URL 连续测两次。第二次明显快,说明第一次把缓存打热了,之前是未命中。

如果每次测都一样慢,那不是冷缓存的问题,是缓存根本没生效:可能是 Cache-Control 设成了 no-store,可能是带了 Set-Cookie,也可能是查询参数让缓存键每次都不同。

源站 IP 从哪来

最稳的办法是看源站服务器自己的公网 IP,或者 CDN 后台的源站配置。

不要靠猜。有些站的解析结果里混着 CDN 的 IP 和源站 IP,直接拿来做测试很容易测错对象。用 IP 查询 看一下归属,能区分开——CDN 的 IP 通常归属是云厂商的边缘节点段。

两个风险

绕过 CDN 直连源站,等于把源站暴露在公网流量下。源站如果有防护或者只允许 CDN 回源,这次测试会被拦,这属于正常现象,不是故障。

另外,别把这种测试当成压测。拨测是单次请求,量很小,但它确实会打到源站。频率上控制一下,别拿它当监控跑。

还有一种情况

边缘快、回源也快,但用户还是说慢。这时候问题通常不在网络,在资源:图片太大、JS 太多、首屏渲染被阻塞。

拨测只测 HTML,不加载图片和脚本,这些它看不见。换个工具查前端,别在网络上继续绕。