CDN 是怎么加速的
CDN 把内容缓存到离用户更近的边缘节点:用户请求先到边缘节点,命中缓存直接返回;未命中或已过期时回源站取内容,并按缓存规则决定是否留在边缘。链路是「用户 → 边缘节点 →(未命中)源站」。评估效果的核心指标是缓存命中率与回源量,它们决定了源站实际承受多少压力。
基本信息
| 边缘节点 | 就近接入并缓存内容,用户直接与之交互 |
|---|---|
| 回源 | 未命中或缓存过期时向源站取内容 |
| 缓存策略 | 决定哪些内容缓存、缓存多久、是否忽略查询参数 |
| 调度 | 把用户请求导向合适的边缘节点,通常基于 DNS 解析 |
| 接入方式 | 业务域名 CNAME 到服务商提供的加速域名 |
| 核心指标 | 命中率、回源带宽、边缘响应时间、状态码分布 |
典型使用场景
- 静态资源加速:图片、脚本、样式、安装包等体积大且变更不频繁的内容
- 跨地域访问优化:让远端用户就近回源,降低访问延迟
- 源站保护:由边缘承担大部分请求,源站只需处理回源流量
- 带宽成本控制:把下载类流量从自建出口转移到 CDN
- 大促与活动流量削峰:用边缘缓存吸收突发访问
观察响应是否经过 CDN
观察响应是否经过 CDN
curl -sI https://static.example.com/logo.png \
| grep -i -E 'via|x-cache|server|age'
# Age 表示该内容在边缘已缓存的时间,数值大说明命中了缓存
# X-Cache 常见取值 HIT / MISS,可快速判断是否回源
dig +short static.example.com # 确认是否已 CNAME 到 CDN 服务商关键指标读法
| 指标 | 含义 | 异常信号 |
|---|---|---|
| 缓存命中率 | 边缘直接返回的比例 | 命中率骤降说明缓存规则或参数变化 |
| 回源带宽 | 边缘向源站取内容的流量 | 突增可能压垮源站 |
| 边缘状态码 | 4xx/5xx 分布 | 5xx 上升先查回源链路与源站健康 |
| Age 值 | 内容在边缘的缓存时长 | 始终很小说明几乎每次回源 |
带查询参数的动态请求默认通常不缓存或按整串 URL 缓存,命中率低是正常现象;静态资源建议使用固定 URL 或带版本号路径,便于长期缓存。
接入 CDN 后源站仍可能被回源流量打满:命中率低或缓存过期集中时,回源峰值往往比原来直接访问更集中,源站容量需要重新评估。