云出口流量与 CDN 节省费用计算器的作用
每当数据离开云服务商的网络流向公共互联网时,云服务商都会按每 GB 收取出口(egress)费用。如果直接从源站存储或计算资源为繁忙的网站、媒体库或软件下载提供服务,这笔出口费用可能会成为云账单中最大的支出之一。内容分发网络(CDN)会将你的内容缓存在边缘(edge)节点,因此大多数请求都由 CDN 以更低的分发费率响应,根本不会触及你的源站。
本计算器比较这两种方式。它会估算全部流量都直接通过云出口提供服务需要支付的费用、在前端加上 CDN 后需要支付的费用(CDN 分发费用加上缓存未命中时较小的源站出口费用),以及由此带来的每月和每年节省。
如何使用
输入你每月向用户交付的数据量(GB)、云出口费率(美元/GB)、CDN 分发费率(美元/GB),以及预期的缓存命中率(百分比)。公有云出口通常约为每 GB $0.08 至 $0.12,而普通 CDN 分发通常为每 GB $0.01 至 $0.05;调优良好的静态站点可以达到 90% 以上的缓存命中率。为获得最准确的结果,请使用你自己服务商定价页面上的费率。计算器会返回直接出口费用、CDN 总费用以及节省金额。
公式详解
设 T 为每月流量(GB),R_e 为云出口费率,R_c 为 CDN 分发费率,H 为以 0 到 1 之间的小数表示的缓存命中率。
全部直接通过云出口提供服务的费用为:
$$ D = T \times R_e $$使用 CDN 时,用户按 CDN 费率获得服务,只有缓存未命中的部分仍会作为出口离开你的源站:
$$ C = T \times (1 - H) \times R_e + T \times R_c $$每月节省与节省百分比则为:
$$ S = D - C $$ $$ \text{Savings \%} = \frac{D - C}{D} \times 100 $$缓存命中率越高,源站出口项就越小;CDN 费率越低,分发项就越小,因此两者都会推高节省金额。
示例计算
假设你每月交付 10,000 GB(10 TB),云出口费率为 $0.09/GB,CDN 分发费率为 $0.02/GB,缓存命中率为 90%。
直接出口:10,000 x $0.09 = $900。使用 CDN 后,源站只需为 10% 的缓存未命中部分提供服务:10,000 x 0.10 x $0.09 = $90,再加上 CDN 分发 10,000 x $0.02 = $200,合计 $290。每月节省 $900 - $290 = $610,约减少 67.8%,即每年大约 $7,320。
常见问题
CDN 一定能省钱吗? 不一定。如果你的缓存命中率很低,或者 CDN 费率接近你的出口费率,那么 CDN 分发费用加上未命中时的源站出口,可能等于甚至超过直接出口的费用。提高缓存命中率通常是最有效的手段。
为什么使用 CDN 后仍要收取源站出口费用? 每次缓存未命中都会迫使 CDN 从你的源站获取对象,而这次获取会作为出口离开云端。只有被缓存的部分(即命中率)才能避免源站出口,这正是高命中率如此重要的原因。
我应该预期怎样的缓存命中率? 静态资源和带版本号的文件的缓存命中率通常在 90% 到 99%,而高度个性化或快速变化的内容缓存效果很差。请查看你的 CDN 分析数据以了解实际命中率,而不要凭猜测。