一、背景:为什么“加了 CDN”和“CDN 真生效”是两回事
很多人在控制台点完“开启 CDN”就认为网站已经加速了,但用户侧依然反馈“晚上卡”“广东移动慢”“安卓微信里转圈”。
原因通常是三类隐性失效:
调度失效:DNS 把用户解析到了跨省或跨运营商边缘,物理延迟吃掉全部缓存收益。
缓存未命中:
X-Cache: MISS或BYPASS频发,每次请求都回源,TTFB 和源站一样慢。协议降级:浏览器走的是 HTTP/1.1 甚至强制重试,HTTP/2、HTTP/3(QUIC)没真开,TLS 握手多花 1–2 个 RTT。
这类问题靠“本地刷新看快慢”完全发现不了,必须用多节点网站测速 + 响应头回显 + 双栈对照 才能坐实。KKCE(快快测,www.kkce.com)把“网站测速 / HTTP 测速 / SSL 检测 / HTTP/3 检测 / DNS 查询”收在同一面板,适合做这种反推。
二、原理:一次命中 CDN 的 HTTPS 请求应该长什么样
按真实浏览器建连顺序拆开(以就近边缘命中、HTTP/3 可选):
阶段 | 命中 CDN 理想表现 | 回源或异常表现 |
|---|---|---|
DNS 解析 | 本地递归返回就近边缘 IP(同省同运营商) | 解析到源站 IP 或跨省边缘 |
TCP/TLS | TLS1.3 单 RTT,会话复用 | TLS1.2 两 RTT,或证书链过长 |
TTFB | 静态资源 <50ms,动态页 <200ms | >500ms,且随节点距离线性变大 |
响应头 |
|
|
协议 |
| 只有 HTTP/1.1,无 h3 声明 |
TTFB 不是 CDN 是否生效的充分条件,但“多节点 TTFB 差异极小 + X-Cache HIT + Alt-Svc 带 h3”三者同时成立,才能证明 CDN 在该网络下真生效。
三、实操:在 www.kkce.com 反推 CDN 与 HTTP/3 状态
3.1 多节点网站测速看“调度是否就近”
打开 www.kkce.com → 网站测速
输域名,节点全选:电信 / 联通 / 移动 / 教育网 / 多线 / 海外
高级选项里指定 DNS分别用
223.5.5.5、119.29.29.29、1.1.1.1各跑一次看两张表:
同省跨运营商:如“广东电信 60ms / 广东移动 320ms” → 移动侧调度没覆盖
同运营商跨省:如“北京联通 70ms / 新疆联通 260ms” → 边缘节点少或回源跨区
若换 DNS 后某运营商延迟骤降,说明是递归 DNS 把边缘调度错了,不是源站慢。
3.2 HTTP 深度测速看“缓存与协议”
KKCE 的 HTTP 测速(或网站测速高级选项带 Header 回显)重点读返回头:
X-Cache: HIT且Age: 120→ 边缘缓存命中,安心X-Cache: MISS→ 每次回源,检查 Cache-Control / 源站 Set-Cookie 是否禁用缓存无
Age字段且 TTFB 等于源站直连 → CDN 可能处于“仅加速 DNS 不缓存”模式Alt-Svc: h3=":443"存在 → 声明支持 HTTP/3再用 KKCE 的HTTP/3 检测 专项跑一次,确认 QUIC 握手真成功,而不是只写在头里
3.3 IPv6 双栈对照
切 IPv6 Tab 输同一域名:
若 IPv4 各节点 HIT、IPv6 全 MISS → CDN 的 AAAA 记录没接边缘缓存,v6 用户等于裸连源站
若 IPv6 TTFB 比 IPv4 慢 3 倍以上 → 移动/教育网 v6 出口 NAT64 或跨区
2026 年国内手机、校园网、政务云大量 v6 优先,只测 v4 会漏掉这一类“静默慢”
四、对照实验:发版前后各跑一次才叫诊断
不要单次测速下结论。建议固定一套“对照基线”:
基线(发版前): - 节点:北京/上海/广州 电信+移动+联通 + 1 海外 - 选项:IPv4 快速检测 + IPv6 快速检测 + 指定 DNS=119.29.29.29 - 记录:各节点 TTFB、X-Cache 命中率、Alt-Svc 是否带 h3 - 存:截图或 CSV 变更(例:换 CDN 厂商 / 开 Brotli / 加页面缓存 / 上 HTTP/3): - 同节点同选项同 DNS 再跑一次 - 只比差值,不比绝对秒数差值解读:
TTFB 全省下降 40% 以上 + X-Cache 从 MISS 变 HIT → 缓存策略生效
仅 TLS 段下降、TTFB 不变 → 开了 TLS1.3/会话复用,但后端没动
IPv6 TTFB 不变但 IPv4 下降 → 只配了 v4 边缘,v6 仍回源
海外节点无变化 → 海外没买对应 CDN 套餐,不是源站问题
五、常见误判与边界
Ping 低 ≠ 网站快:ICMP 通只证明三层可达,TTFB 高仍是后端或回源慢。
完全加载时间长 ≠ 必须升服务器:先看 TTFB,TTFB 低而全加载高,是前端资源问题。
HTTP/3 检测通过 ≠ 所有用户都走 QUIC:部分中间件、企业防火墙会丢 UDP/443,浏览器自动降级 HTTP/2,属正常兜底。
指定 DNS 测速偏慢 ≠ 域名被墙:公共 DNS 对陌生 IP 有限频,冷解析本身 100ms+,需换 114/阿里/腾讯交叉验证。
家庭宽带拨测节点有抖动:晚高峰电信家宽到检测服务器本身有拥塞,仅作参考,不计入 SLA。
六、站长效巡检清单(可直接抄进运维文档)
每次满足任一条件时,跑一遍 KKCE 五步:
网站测速(IPv4+IPv6,三运营商+教育网+海外)看 TTFB 热力
HTTP 测速看
X-Cache/Age/Content-Encoding: br/Alt-SvcHTTP/3 检测确认 QUIC 真握手
SSL 检测确认证书链、OCSP、TLS1.3
异常省份 → 切 TCPing 443 + 路由查询 + DNS 查询 A/AAAA 定位到“DNS/链路/端口/源站”哪一层
触发时机:发版前/后、换 CDN、改 DNS、加 HTTPS 重定向、IPv6 改造验收、用户投诉某省慢。
七、小结
网站测速不是“看个秒数”,用它反推 CDN 与协议层时,核心看三件事:
调度对不对:多节点 TTFB 是否同运营商同省最低
缓存命不命中:X-Cache/HIT/Age 是否按预期出现
协议实不实在:HTTP/3 检测真过,IPv6 也走边缘而不是回源
把 www.kkce.com(KKCE 快快测)当“CDN 生效验尸官”而不是“打分器”,每次配置变更都留一份前后对照,比盲目调 Nginx、加机器、换厂商都省时间。