页面打开快还是慢,八成跟你那台服务器的带宽没关系。用户点一下,请求要走三段路:先被指到一个节点,那个节点手里有没有货,没货就得回头问源站。搜 cdn技术详解 的人,多半是想搞清楚“为什么我开了还是慢”,答案基本就埋在这三段里。节点数量、带宽大小这些参数,反而是后头才轮得到讨论的东西。

cdn技术详解的第一个环节:调度,用户被指到了哪
接入方式一般是把域名 CNAME 到服务商给的别名,之后每次解析,调度系统都要判断用户在哪个省、哪个运营商,再挑一个节点把 IP 返回来。判断依据是 LocalDNS 的出口 IP,这一步经常不准。有的地方 DNS 递归走了加密通道,出口 IP 干脆对不上号。
见过比较离谱的情况:用户明明是电信宽带,被指到联通节点,跨网绕一大圈回来。小运营商更麻烦,全省的 LocalDNS 出口 IP 就那么几个,调度系统看着像全省的人都从同一个机房出来,节点分得再细也没用。
自己验不难:先 dig 域名看返回的是不是 CNAME,再 dig 那个别名,多跑几遍看返回的 IP 变不变、是不是就近的节点段。TTL 设太长,节点出问题时切换慢;设太短,解析压力大。这个值在控制台里能改,具体范围以服务商文档说明为准。
另外一个细节,静态资源单独挂一个二级域名,跟主站分开解析,这在调度上更灵活,也方便单独刷缓存。老站没做这个也不要紧,但新站规划的时候顺手加上,后面少折腾。
缓存命中率,面板上的数字不如响应头实在
控制台给的命中率是个平均值,被几个大文件一冲就显得挺好看。真要判断,curl -I 一下具体的 URL,看响应头里的缓存状态,各家写法不一样,常见的是 X-Cache 后面跟 HIT 或 MISS,也有的用 Via、Age。Age 表示这份缓存已经放了多久,能反推命没命中。
命中率上不去,原因往往很琐碎:URL 后面挂着推广参数或者随机数,每次请求都被当成新资源;缓存键把 Cookie 也算了进去;Cache-Control 里只写 max-age 没写 s-maxage,或者反过来。这些都在 CDN配置 那一层能调,有的服务商提供“忽略参数”的开关,开了要留神,别把带 id 的接口一起忽略掉。
还有一种是自己作的:缓存时间设成几分钟,一过期就回源,命中率当然上不去。静态资源可以放长一点,更新靠改文件名带版本号,别总想着手动刷缓存。大促之前做个预热,把热门页面提前推上去,比临时加带宽省钱。
回源这一段,最容易在半夜咬人
缓存没命中或者过期,请求就得回源。这一段慢,用户看到的就是白屏转圈。回源带宽不够的时候,几个热门页面同时过期,源站瞬间被打满,看着像被攻击,其实是自己的缓存集体失效。
常见的坑有几个:回源 Host 配错,源站返回 404 或者跳到别的站;源站只开了 HTTPS,回源还用 HTTP,直接连不上;回源超时设得太短,源站稍微慢一点就给 504,用户看到的是错误页。这类问题白天不明显,夜里回源量上来才暴露,所以别在半夜改配置。
动态内容本来不该全塞进缓存,现在不少服务商有动态加速,走的是另一条链路。要不要开会得看你这个站是接口多还是图片多,拿不准就问技术支持,别自己瞎点开关。
边缘那段路,还能再挤一点出来
请求已经落到节点上了,剩下的时间花在 TLS 握手、压缩和传输上。TLS 1.3 比老版本少几个来回,会话复用打开,老访客不用重新握手。HTTP/2 的多路复用,对图片多的小站是实打实的提升。
压缩方面,文本资源开 gzip 或者 brotli,图片别硬压,转成 webp、avif 更省。还看到有人把 CSS、JS 合并成一个大文件,那是 HTTP/1.1 时代留下的习惯,在 HTTP/2 下反而拖慢首屏。这种历史包袱挺多站都有,改不改看投入产出。
还有个首字节时间,也就是 TTFB,它把调度和回源两段都算进去了。用户抱怨“点了半天没反应”的时候,先看这个数,比盯着总加载时间有用。
几个常见的误判
一个是觉得节点越多越快,节点多但调度不准,等于白搭。一个是开了 CDN 就不管源站,源站慢,缓存一过期全露馅。还有把后台、登录页也套进缓存规则的,用户登录完看到别人的信息,这种事真出过。
另外常有人问 cdn 能不能防采集,能挡掉一部分,但对方换 IP、放慢速度爬,还是挡不住。它就是个加速方案,别当安全产品使,这块是另一个话题。
排查顺序,按这个走不容易乱
先 dig 看解析对不对,顺带确认 CNAME 有没有被别家覆盖;再 curl -I 看缓存命中和响应头;然后 mtr 看链路在哪一跳丢包;最后翻源站的访问日志,对一下 CDN 回源的时间点和状态码。绕开 CDN 直连源站比一次,快慢差多少心里就有数。
顺序别乱。一上来就怀疑带宽,是大多数人的通病,也是被服务商最愿意听到的一句话。
CDN技术详解里这三个环节——调度、回源、边缘传输,任何一个掉链子,整体就慢,带宽只是其中一环,而且往往不是最贵的那一环。下次页面慢,先按上面的顺序走一遍,别急着升级套餐。实在拿不准,把响应头和 dig 结果一起贴给技术支持,比自己猜快得多。
【版权声明】:本站内容若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!