CDN 加速后我多花了四百块:缓存规则和用量封顶两个坑,劝你早点知道

简介: 朋友的小站接了 CDN,页面从 3 秒变 400 毫秒,月底账单却多出四百多块。查下来问题出在两个地方:一张 3MB 大图被设成不缓存,每次刷新都回源重拉;用量封顶从没配过,流量敞着口。这篇讲清 CDN 的下行与回源计费逻辑、缓存规则该怎么配、阶梯单价怎么算、HTTPS 请求数为什么单独计费,以及突发带宽条款,附七条实操建议。

上上周我一哥们儿在群里嚎,说他那个卖手冲咖啡豆的小站接了个 CDN,首页图片"唰"一下就从 3 秒变 400 毫秒,美得他当场发了个朋友圈。

三天后他给我发了张截图:账单。

我点开一看,好家伙,四百多块钱,流量 1.8 TB。

他一脸无辜:"我这站一天才几百个人访问啊,流量从哪来的?"

我打开他的 CDN 控制台看了两分钟,就找到问题了——他把一张 3 MB 的全屏 Hero 大图设成了"不缓存"。用户的每一次刷新、每一次翻滚回顶、每一次从别的页面返回,都要回源重新拽一遍这张 3 MB 的图。CDN 辛辛苦苦省下来的那点时间,全被这一张图吃回去了,顺手还把钱收了。

这哥们儿的遭遇其实很典型。CDN 这个产品,接入本身是"零门槛"的——加个域名、配条 CNAME,十分钟就能跑起来。但"跑起来"和"跑得划算"完全是两码事。加速效果你当天就能看见,账单上的坑通常要等到月底才浮出水面。

下面把我踩过、看别人踩过的两类坑摊开讲:一类是缓存规则,一类是用量封顶。前一个决定你会不会白掏钱,后一个决定你会不会一夜之间被掏空。

一、先把原理说清楚:CDN 到底在哪一层收钱

很多人对 CDN 的理解停留在"把我网站的东西放到离用户更近的地方",这个说法没错但不完整。完整一点的说法是:

CDN 在全球部署了 3200+ 个边缘节点(官方产品页原话,"遍布全球的 3200+ 节点")。用户请求你的站点时,DNS 会把他调度到最近的那个节点上;节点上如果有他想要的那份缓存,就直接从节点吐给他,压根不会去打扰你的源站;如果没有,节点才会回源站把文件拉过来,先存一份,再吐给用户。

这里就出现了两条完全不同性质的流量:

  • 下行流量:从 CDN 边缘节点流向用户浏览器的流量。这是你要付钱的那一条,也是 CDN 基础服务费的主要构成。
  • 回源流量:CDN 节点跑去你源站(ECS、OSS 都算)把文件拉回来的流量。这部分 CDN 不计费——但请注意,你的源站可能会因此产生出方向流量费用。

所以整件事的经济学逻辑非常朴素:命中缓存的比例越高,你付给 CDN 的下行流量就越"值";命中率越低,你就等于花钱买了一条绕路更远的线路。

打个比方:CDN 是你在全城开的连锁便利店。用户上门买东西,店里货架上有就直接拿走;货架上没有,店员得打车上总仓去取——打车的油钱(回源)你自己掏,而且用户还在柜台那儿干等着。货架上该摆什么、摆多少,就是缓存规则要解决的问题。

二、缓存规则:默认配置是"能用",但不是"省钱"

阿里云 CDN 的缓存规则(缓存过期时间)配置入口在控制台里,长得挺朴素,但每一行都对着钱。

先说一个概念,刚接触的人容易被绕进去:

  • "不缓存":每次请求都回源。适合接口、需要实时性的页面、带用户态的 URL。这是最烧钱的一档,因为等于 CDN 只当了个搬运工,流量全记账。
  • "缓存,过期时间短":比如 10 分钟。适合更新频率不低、但也没必要实时的内容,比如首页 HTML、商品列表页。
  • "缓存,过期时间长":比如 30 天。适合几乎不变的东西,图片、字体、JS/CSS、视频切片。这是最省钱的一档。

我那位朋友的错误就在于,把"图片"这种天生适合长缓存的静态资源,扔进了"不缓存"那一档。

这里有个特别多人分不清的点:"不缓存"和"缓存刷新"是两个按钮,不是一个意思。

  • 把文件设成"不缓存",是告诉 CDN 永远别存,每个用户都回源——持续烧钱。
  • 内容真的更新了,你要做的是"刷新"——让 CDN 把旧的那份丢掉,下次请求重新回源拉一次新的,然后照常缓存。

所以正确的姿势不是把频繁更新的文件设成不缓存,而是放心地给它设一个较长的过期时间,然后在内容更新的时候手动(或通过 API)刷一下缓存。刷新的调用量是有限的(每天有免费额度,超额另计),成本远低于把流量全放回源。

顺手说两个容易被忽略的缓存相关能力:

预热。 刷新是"让旧的失效",预热是"主动把内容提前推到节点上"。如果你要发一篇大促活动页,或者放出一段新视频,提前预热可以让第一批用户就别撞上回源那一下冷启动。

动态内容也能加速。 上面说的都是静态。如果你的站点有大量动态请求(比如电商的购物车、详情页),CDN 的"全站加速"能通过智能路由把回源链路优化掉——不过要提醒一句,全站加速是按另一个产品的价格计费的(在产品页里叫 DCDN),添加加速域名时"业务类型"选了全站加速,价格就跟普通 CDN 不一样了,别在成本测算里算漏这一项。

三、用量封顶:你如果只能配一样东西,就配它

如果说缓存规则是"省钱",用量封顶就是"保命"。

原理特别简单:你在控制台设一个阈值,比如"下行流量超过 500 GB 就停下"或者"带宽超过 100 Mbps 就停下",达到阈值后 CDN 会按你的策略限流甚至停服,而不是继续给你计费。

为什么这件事这么重要?因为 CDN 是一个流量敞口产品。你的带宽上限不取决于你的服务器,取决于有多少人在请求你。平时一天几百人访问,账单几块钱;某天你的某张图被人贴到某个热门帖子里,或者有爬虫盯上了你的图片资源,流量曲线能在几个小时内拉成一条竖线。

历史上因为 CDN 流量被刷、被盗链导致天价账单的案例并不少见。更麻烦的是,流量是"先消费后付费"的——等你看到账单的时候,钱已经花出去了。

官方在产品动态里也专门发过"高额账单风险警示"这个文档,还在 2025 年升级了用量封顶功能,现在支持带宽、流量、请求数三种封顶维度(以前一般只能封带宽)。这基本就是被现实教育出来的功能。

给个人站长和中小站点的建议配置是这样的:先跑两周,看看平均值和峰值大概在什么量级,然后把封顶设成峰值的 3~5 倍。既能兜住正常业务增长,又能拦住异常刷量。别图省事直接设成"不封顶"——那是一张签了名的空白支票。

四、算一笔真实的账:阶梯计费到底怎么算

CDN 默认的计费方式是按流量计费(后付费),计费单位是"从 CDN 节点流出的下行流量"。

它用的是阶梯价,用得越多单价越低。以中国内地为例,官方文档给出的阶梯表是这样的:

流量阶梯 中国内地单价
0GB ~ 10TB(含) 0.24 元/GB
10TB ~ 50TB(含) 0.23 元/GB
50TB ~ 100TB(含) 0.21 元/GB
100TB ~ 1PB(含) 0.18 元/GB
大于 1PB 0.15 元/GB

以上为官方文档中的示例报价,实际价格以官方页面实时展示为准。

阶梯的算法是分段累计,不是"超过某个量全部按新价"。官方给了一个示例:某月前 9 天消耗 10200 GB,第 10 天 0 点到 1 点又消耗 90 GB,累计 10290 GB。其中第 10 天那 90 GB 里有 40 GB 还落在第一档(0.24 元/GB),剩下 50 GB 进入第二档(0.23 元/GB)。所以那个小时的钱是 40×0.24 + 50×0.23 = 21.1 元。

这个"分段"的细节很重要,因为它意味着小站点的单价就是最贵的那一档。一个月 500 GB 的个人站,全部按 0.24 元/GB 算,也就是 120 块钱。听起来不贵,但前提是——你得知道这 500 GB 是怎么来的。

回到我那哥们儿。他的站一个月真实业务量大概 60 GB 左右,也就是十几块钱。剩下 1.74 TB 全是被那张"不缓存"的大图喂出来的。400 多块钱里,有 98% 是纯浪费。

所以第一件该做的事不是买流量包,是打开控制台看一眼你的流量构成。 如果下行流量的走势和你的访问量走势完全对不上,先查缓存规则,再查有没有人盗链。

五、几个具体的配置建议

把上面这些落到操作上,就这几条:

1)静态资源一律长缓存,靠文件名做版本。 图片、字体、CSS、JS 这类,缓存过期时间设 30 天甚至更长。要更新的时候就换文件名(如 app.a1b2c3.js)或者走刷新接口。

2)HTML 和接口单独设短缓存或按规则排除。 别用一条"全部缓存 1 天"的粗暴规则,把用户中心、订单状态这些页面也缓存了——那不叫加速,那叫数据事故。

3)按后缀区分规则。 绝大多数控制台都支持按文件后缀(.jpg/.png/.css/.js/.mp4)来批量设规则,一次配好,比逐个 URL 配省事得多。

4)第一时间设用量封顶。 三个维度都设上:流量、带宽、请求数。

5)防盗链。 Referer 黑白名单是最低成本的防线,能挡掉绝大多数直接把你的图片贴到别人站上的情况。有更高要求的可以上 URL 鉴权签名。

6)开 HTTPS 之前先算清楚这一笔。 这是最容易被忽略的一项——静态 HTTPS 请求数是单独计费的增值服务,跟流量分开算。如果你的站全是小图标、小 JSON,流量少但请求数巨大,那 HTTPS 请求数这一项可能会比流量费还高。这个坑很隐蔽,因为它在账单里是独立的一行。

7)关注"突发带宽"。 官方对突发带宽有明确定义:比如单个加速域名本自然月带宽峰值超过 10 Gbps(流量计费场景),或者本自然月带宽峰值增量超过上月的 30%(带宽计费场景),都算突发。突发带宽需要提前至少 3 个工作日申请(大促、春晚这类要提前 1 个月)。如果是自己做活动,提前申请比事后解释划算得多。

六、顺便说个容易被忽略的产品线

CDN 的产品页现在会重点推一个叫 ESA 的东西(原边缘安全加速)。产品页上的原话是它"是升级版 CDN,套餐内仅按流量计费,HTTPS、WAF 请求数、被拦截流量均不计费"。

上面第 6 条提到的 HTTPS 请求数另计费的问题,在这条产品线上就不存在。如果你正好是"流量不大、请求数极多"那种站点结构(比如大量小接口、大量小图片),值得对比一下两者的账单模型再决定用哪个。

另外产品页上还有静态场景的每月套餐(1 TB 流量 + 1000 万次静态 HTTPS 请求数),如果你的用量能大致预估,资源包(预付费)会比按量付费便宜——官方文档的说法是"价格比按量付费更优惠,适合成本可控的业务"。判断标准很简单:流量波动大就按量,流量稳定就买包。

需要看具体节点、套餐和能力清单的,可以直接去产品页翻:

CDN 全球加速服务 - 智能调度与安全合规

最后

CDN 这个产品最反直觉的地方在于:它的错误不会即时报错,只会缓慢地体现在账单上。

服务器配置错了,页面会 502,你五分钟就知道了。缓存规则配错了,页面上什么都正常,用户还觉得挺快,只有账单在悄悄变胖。

所以接入 CDN 之后,建议顺手做三件事,比研究任何高级功能都值:看一眼缓存规则、设一个用量封顶、开一次防盗链。三件事加起来十分钟,能挡住我上面说的 90% 的钱坑。

相关文章
|
2天前
|
缓存 弹性计算 网络协议
全球加速 GA 避坑指南:海外用户打开慢,八成不是服务器不行
海外用户打开慢,多半不是服务器配置不够,而是跨境网络在绕路。本文按踩坑顺序讲清全球加速 GA 的五个常见误区:把它当 CDN 买、跨境方向没定、标准型与基础型选错、加速 IP 类型改不了、计费账算不清,并给出配置顺序、三条验收标准和什么情况下不该买 GA。
|
3月前
|
人工智能
Qwen3.8抢先体验!正式版即将发布并开源!
千问Qwen3.8即将开源,参数达2.4T,进化速度以“天”计,实力媲美Fable 5。预览版Qwen3.8-Max已上线阿里Token Plan等平台,限时优惠:日间Credits低至1折,夜间更优,个人/团队版月付仅35元起!
5624 167
|
4天前
|
Ubuntu Linux iOS开发
【2026最新版】VirtualBox下载安装保姆级教程(从零搭建VirtualBox虚拟机)
VirtualBox 是免费开源的跨平台虚拟机软件,支持 Windows/macOS/Linux 宿主机,可同时运行多个操作系统(如 Windows、Linux),用于测试、开发与学习。具备文件共享、剪贴板互通、USB 设备支持等功能,需安装扩展包启用高级特性。图形性能弱于 VMware,但轻量易用。(239 字)
|
6天前
|
域名解析 缓存 网络协议
域名解析不是填个 A 记录就完事:从 DNS 到备案,把这条链路一次走通
从买完域名到网站真能打开,中间隔着解析和备案两关。这篇把这条链路完整拆一遍:DNS 在一次访问里到底处在哪一环、A/CNAME/MX/TXT 各自用在哪、改记录前为什么先调小 TTL、nslookup 怎么排除本地缓存干扰,以及备案的三个高频驳回点。最后给一份从买域名到上线的执行清单和六个真实踩过的坑。
|
2天前
|
弹性计算 监控 Serverless
函数计算 FC:不买服务器也能跑定时脚本和接口
本文讲述作者将四台“电子宠物”式低负载ECS(每天仅运行30秒)迁移至函数计算的实战经验。详解Serverless适用场景(定时任务、HTTP接口、事件驱动)、关键避坑点(冷启动、依赖打包、日志与临时存储)、成本对比及迁移 checklist,强调:**“等事件”的轻量任务,就该交给函数计算。**
|
7天前
|
弹性计算 监控 网络安全
2026 年新手买完阿里云 ECS 必做的 8 件事:安全组、密钥对、快照、监控告警,少一件都可能出事
买完阿里云 ECS 别急着装环境。这篇按实操顺序列了新手必做的 8 件事:安全组只开必要端口、换密钥对并关掉密码登录、建普通用户、开自动快照策略、配云监控告警、数据盘用 UUID 写进 fstab、定期打安全补丁、重要数据另存一份。附常见误区和控制台入口。
|
5天前
|
存储 关系型数据库 MySQL
PolarDB 和 RDS MySQL :架构、弹性与成本的一份选型指南
PolarDB 和 RDS MySQL 都能跑同一套代码,账单和扩容方式却完全不同。这篇从存储计算分离与实例一体讲起,逐条对比弹性、只读节点上限、高可用 RTO/RPO、存储按量与存储包的价格算例,并给出迁移要点和可直接照勾的选型清单:什么业务选 RDS,什么业务该上 PolarDB。
|
16天前
|
弹性计算 缓存 网络协议
个人站长要不要买高防?算完这笔账你就懂了
网站被打进黑洞才发现免费防护不是无限兜底?这篇用三道算术题讲清个人站长的真实处境:先算停机一小时值多少钱,再对照免费基础防护、原生防护、高防三档方案对号入座,附换 IP、调 T套 CDN 等零成本省钱姿势,看完不用再纠结要不要花钱买防护。
|
20天前
|
API 开发工具 数据安全/隐私保护
我的阿里云 AK 差点就泄露了:一次最小权限改造实录
同事在群里发了张截图,我们仓库的 .env 里躺着一把主账号 AK——四年没换、三个团队共用。从止血到收权限再到让密钥从代码里彻底消失,完整记录这次改造的每一步和自查清单。
132 3
|
1天前
|
人工智能 前端开发 Java
AI智能体开发技术调研总结
本文系统梳理AI智能体技术演进(从Function Calling到多智能体ReAct循环),详解AgentScope-Java Harness等主流框架对比,并基于Spring Boot+Vue实现支持RAG检索、沙箱执行、人工确认、文件读写及全流程可观测的生产级智能体Demo,源码已开源。
35 0