宝塔拨测博客拨测技术博客
宝塔拨测

接了 CDN 部分地区打不开,怎么判断是 CDN 节点的问题?391 节点实测的四个判据

判断 CDN 节点是否出问题,不能只看「打不开」这个现象,要看响应 IP 的分布。 本文对两个站点各做了一次全国 HTTP 拨测,两个站点的差异非常清楚:

站点 成功节点 响应 IP 去重数 总耗时中位数
直连源站 392 1 个 269.2 ms
走 CDN 391 22 个 455.6 ms

直连的站点 392 个节点全部连到同一个 IP;走 CDN 的站点,391 个节点分散到 22 个 IP、分布在 21 个位置。这张表就是判断 CDN 是否生效的第一手证据,也说明「多 IP」是 CDN 的正常形态,不是异常。

判据一:响应 IP 是否分散

打开拨测结果,先看「响应 IP 去重数」这个字段。

本次实测的 CDN 站点,IP 分布如下(按节点数排序,取前几位):

响应 IP 节点数 IP 所属位置
117.69.71.130 68 安徽宿州 / 中国电信
123.6.40.77 44 河南郑州 / 中国联通
43.174.246.30 24 新加坡 / 腾讯云
112.84.131.71 23 江苏扬州 / 中国联通
119.36.225.67 22 湖北襄阳 / 中国联通
  • 只有 1 个 IP → 没有 CDN,或者 CDN 没生效(解析还指着源站)。
  • 多个 IP、分布在不同地区 → CDN 在工作。

这一步能排除掉最常见的一类误判:用户说「接了 CDN」,实际解析没改过来,所有节点仍然直连源站。

判据二:失败是否集中在少数 IP

CDN 生效之后,部分地区打不开的原因通常有两种,方向完全相反:

情况 A:少数边缘节点故障。 特征是失败节点集中在某一个或几个响应 IP 上。这种情况下换一个 IP 访问就正常,问题在 CDN 服务商侧。

情况 B:源站故障,所有边缘节点一起回源失败。 特征是所有 IP 都出现失败或 5xx,且失败原因里出现回源相关的错误。

本次 CDN 拨测的 391 个成功节点全部返回 200,失败仅 3 个(成功率 99.2%),失败原因分别是 DNS 临时失败 1 个、连接超时 1 个、任务超时 1 个——分散在不同原因、不集中在某个 IP,属于探针侧或链路的零星异常,不是 CDN 节点故障。

判据三:同一个 IP 内部,耗时是否一致

这是区分「节点坏了」和「线路坏了」的关键。

如果一个边缘节点自身出问题,连到它的所有节点应该普遍慢或普遍失败。反之,如果同一个 IP 下只有部分节点慢,且这些节点集中在同一个运营商,那更可能是该运营商到该节点的链路问题,而不是节点本身。

本次实测的最慢五个节点:

节点 总耗时
辽宁-辽阳-电信 5618.2 ms
安徽-六安-移动 5595 ms
新疆-伊犁-移动 5358.1 ms
贵州-安顺-电信 5288.9 ms
陕西-咸阳-电信 5176.8 ms

这五个节点分散在五个不同省份、两个运营商,没有集中在某一个响应 IP 上。同时最快节点是新加坡 49.7ms、澳门 112.3ms、德国 152.1ms——海外节点反而最快,这与「边缘节点就近服务」的预期一致。快慢两端都不指向某个坏掉的边缘节点。

判据四:和源站直连比,差距是否合理

这一条最容易被忽略,但很有用:把走 CDN 的站点和直连源站的站点放一起比。

本次两组数据的对比:

指标 直连源站 走 CDN 差异
总耗时中位数 269.2 ms 455.6 ms CDN 慢 186.4 ms
DNS 解析中位数 20.2 ms 116.4 ms CDN 慢 96.2 ms
首字节中位数 268.9 ms 454.6 ms CDN 慢 185.7 ms
TCP 连接中位数 39.3 ms 21 ms CDN 更快 18.3 ms

走 CDN 的站点反而更慢,慢在 DNS 解析和首字节两段,而 TCP 连接反而更快(边缘节点距离更近)。

这不是异常,而是 CDN 的固有代价:解析要走 CNAME 多级查询,所以 DNS 段变长;如果边缘节点没命中缓存,请求要回源取内容,首字节就会变长。CDN 快的前提是缓存命中,命中率低的时候,多出来的这一层代理反而增加延迟。

所以判断「CDN 是不是出问题」时,不能简单用「接了 CDN 就该比源站快」当标准。合理的判断是:

  • 首字节明显高于源站,且 DNS 正常 → 缓存命中率低或回源慢;
  • DNS 段异常长(远超本次的 116.4ms 量级)→ 解析链路有问题;
  • TCP 段显著高于源站 → 边缘节点距离或线路异常。

一个实操顺序

第一步:拨测看响应 IP 去重数。1 个 IP 就先去查解析,别浪费时间在 CDN 上。

第二步:多个 IP 时,看失败节点是否集中在某个 IP。集中 → CDN 节点问题;分散 → 继续往下查。

第三步:看同一 IP 内部耗时是否一致。一致地慢 → 节点问题;部分慢且集中在运营商 → 线路问题。

第四步:拿直连源站的数据做对照,判断差异出现在哪一段(DNS / TCP / 首字节)。

怎么自己测

打开宝塔拨测的网站测速页 t.bt.cn/http/,输入站点域名发起拨测。结果页会给出每个节点解析到的响应 IP、该 IP 的所属位置、各段耗时和状态码——上面四个判据需要的字段都在里面。如果要对比解析结果,可以再用 DNS 测速 看各节点拿到的解析是否一致。

信息来源

测速项与字段定义以宝塔官方文档 《使用宝塔拨测》 为准(网站测速可查看成功率、响应时间、状态码和异常节点)。文中两组数值均为 2026-10-27 15:01 与 15:08(北京时间)的真实 HTTP 拨测结果,分别覆盖 60 个地区、392 与 391 个成功节点。IP 归属与节点池状况随时变化,上述数值仅代表采集时刻的情况。

常见问题

怎么判断网站有没有走 CDN?

看拨测结果里的「响应 IP 去重数」。本文实测走 CDN 的站点有 391 个成功节点,实际连到 22 个不同 IP、分布在 21 个位置;而同站群一个直连源站的站点,392 个节点全部连到同一个 IP。单一 IP 说明没有 CDN 分发,多个 IP 分散在不同地区说明 CDN 生效。

部分地区打不开,怎么判断是不是 CDN 节点的问题?

三步排除:先看失败节点是否集中在少数几个响应 IP 上(是则为该边缘节点问题);再看这些 IP 是否集中在某地区或某运营商(是则为区域性节点问题);最后直接对源站 IP 拨测做对比,如果源站正常而 CDN 异常,问题就在 CDN 侧。

接了 CDN 反而比不接更慢,正常吗?

可能发生。本文实测走 CDN 的站点总耗时中位数 455.6ms,而同站群直连源站的站点是 269.2ms。CDN 未命中缓存时需要回源,请求多经过一层代理,首字节耗时反而更高;DNS 解析也从 20.2ms 增加到 116.4ms。CDN 的价值主要在缓存命中和边缘分发,不是任何情况下都更快。

同一个 IP 下有的节点快有的慢,说明什么?

说明问题不在该边缘节点本身,而在节点到用户之间的链路。边缘节点如果自身故障,连到它的节点应当普遍慢或普遍失败;如果同一 IP 下只有部分节点慢,且集中在某运营商,更可能是该运营商到节点的线路问题。

CDN 站点部分节点返回的 IP 和预期不符,怎么办?

先确认这些节点解析到的 IP 是否在 CDN 服务商公布的地址段内。如果出现了不在地址段内的 IP,可能是 DNS 缓存未刷新、本地 DNS 被劫持,或者部分节点走了直连。可以配合 DNS 拨测看各节点的解析结果是否一致。

怎么自己测一次?

打开宝塔拨测的网站测速页 https://t.bt.cn/http/ ,输入域名发起拨测。结果页会给出每个节点解析到的响应 IP、所属位置、耗时和状态码,用这些数据就能做本文的四个判断。