用了CDN反而更慢?一篇文章带你排查

2026-11-09T03:51:36.831311Z

CDN 是什么?

首先,CDN并非是做加速的,CDN 的全称叫作 Content Delivery Network,中文名“内容分发网络”,和加速压根不沾边,那么为什么在互联网上,90% 的教程都在教你用 CDN 加速源站呢?

CDN 慢的根本原因

要分析为什么 CDN 慢了,首先我们要知道套上 CDN 之后发生了什么。

当一个访客请求网站时:

User -> CDN -> website

如果 CDN 正常缓存了内容,那么请求就会截止在 CDN 上直接发送给访客;但如果 CDN 没有缓存,那么 CDN 需要先请求你的源站,再把响应发给访客,此时 CDN 就在充当反向代理的角色。

同时,当加入 CDN 后,网络复杂度明显提升了,你的源站服务器很可能是 BGP 优化线路、CN2-GIA 优化线路等等,但 CDN 不一定,甚至 CDN 回源的路上也不一定能吃到线路优化。

这就导致,原本用户用 100ms 就成功连接了你的服务器,结果套上 CDN 后,用户先花费 200ms 连接到 CDN,CDN 再花费 200ms 去回源,网站性能不增反降

如何解决 CDN 速度慢的问题

首先,先确定你是什么情况:

境外:统指不受 GFW 限制的地区(含中国港澳台地)

后两种情况几乎不需要任何特殊的优化操作,任何 CDN 的任何使用方式都可以获得不错的效果

如果是第一种情况,需要特别注意一下服务器的选择,比较推荐的是雨云的中国香港区域的服务器,三网混合或三网直连对国内更友好,同时能兼顾 Cloudflare 这种 CDN,填写优惠码 github 还能获得首月五折优惠。

对于第一种情况,选择 CDN 时尽可能遵循两个原则:

中国大陆优化优先

不久前,阿里云、腾讯云等厂商都在抄 Cloudflare 的 CDN+DNS 运营模式,但应为财力不足和设计师没用过 Cloudflare,他们分别设计出了一个被砍成“半个反向代理”的 CDN 以及一个“迷宫控制台”的管理页面。不过,对于国内加速,也是依然可以使用的

不过,如果你有一个喜欢的 DNS 服务商,将 DNS 不托管给 这里是好的(即通过 CNAME 接入而不是通过 NS 接入)

比如我就是给国内站点的域名解析接入了 Cloudflare 但是 CDN 使用阿里云 ESA。不过说到底,貌似对于阿里云来说,ESA 和 CDN 是两个东西

分地区解析

某些 DNS 服务商可以配置分线路解析,不过一定要选一个自己认为好的 DNS 提供商,我这里只是做演示

Cloudflare 貌似是不支持分线路解析的,也可能付费订阅是支持的,但是我没用过付费订阅,对于国内大部分厂商,在我的尝试下大多数支持分线路解析,在创建 DNS 记录时可以选择这样的字段:

当然也可以细分选择,不过免费版只能选到这个粒度,甚至

文章转载协议

转载需先申请授权,并保留授权码、原文地址和文中 go/affiliate 链接。

原文地址:https://www.geekcorelab.com/zh-cn/post/why-cdn-makes-website-slower-troubleshooting-guide