老实说,当初决定上Azure CDN的时候,我心里是有点打鼓的,我们公司做的是母婴电商,日均PV在800万上下,图片、CSS、JS资源占了流量的70%以上,还有部分动态加速需求,之前一直用阿里云CDN,稳定性还行,但价格一年比一年贵,尤其是到了双十一这种大促,预付费资源包根本扛不住突发带宽,超量部分按阶梯计费,一个活动下来光CDN费用就能吃掉利润的3个点,老板天天盯着成本表看,让我“再找找其他方案”,我开始折腾Azure CDN。
接入体验:流程别扭,但文档意外地全
先说说接入,Azure的Portal界面和国内云厂商完全是两种设计哲学——它把所有东西都拆成了“资源组”“前端门”“后端池”“规则引擎”,上来得先理解它的概念模型,我花了小半天才搞清楚,它的CDN实际上是“Azure Front Door”+“CDN Profile”的组合:Front Door负责全局负载均衡和加速规则,CDN Profile才是真正的边缘节点缓存,对我这种习惯了一键开启CDN、填个域名就完事的运维来说,确实有点“笨重”。
但不得不承认,它的文档写得非常细致:每个配置项的后台机制、缓存行为、TTL覆盖逻辑,甚至对HTTP/2和QUIC的支持细节都直接甩给你,国内CDN的文档往往藏着掖着,遇到坑全靠自己试,Azure至少把“为什么这样设计”讲清楚了,这点值得国内厂商学学。

Azure CDN在国内到底行不行?一个电商运维的实测血泪史
性能实测:晚高峰丢人,非高峰能打
我们选了华东、华南、华北三地共6个测试节点,用实际业务域名(带HTTPS)跑了一周的压测,数据直接说吧:
- 非高峰时段(凌晨2点-早上8点):Azure CDN的首字节时间平均在28ms左右,和阿里云CDN基本持平,甚至对标网宿的BGP线路也不落下风,原因是Azure在国内的节点数其实不少,主要接入的是中国电信和中国联通的IDC,走的是回源优化较好的BGP线路,静态资源缓存命中率能达到91%,和阿里云的93%差不太多。
- 晚高峰(晚上8点-11点):问题来了,首字节时间直接飙到85-120ms,阿里云同期只有45-60ms,我们抓了一下流量路径,发现Azure的节点调度机制在晚高峰会把部分请求回源到位于香港或新加坡的母节点,导致延迟暴增,国内CDN厂商有自己的骨干网,流量可以内部消化,而Azure的国内节点多半是通过第三方合作机房接入,高峰期带宽抢不过。说白了,晚高峰就是它的软肋,尤其是对延迟敏感的动态内容或小文件,直接崩。
我们测了视频切片的分发(单个切片4MB左右),Azure CDN的下载速度表现还不错,平均2.3MB/s,和阿里云差不多,但稳定性差一点——有一次连续5分钟出现波动,回源率突然升到15%,导致我们的首屏加载慢了一倍,排查下来是缓存策略问题:Azure默认的缓存行为对动态内容比较保守,很多带参数的URL它直接穿透回源,后来我们改了“查询字符串缓存”规则,强制缓存了无参数的静态资源,回源率才降到5%以下。
价格对比:看着便宜,算完吓一跳
价格是当时最打动我的点,Azure CDN(Standard层级)的官方定价是:中国大陆流量0.23元/GB起,带宽峰值计费方式也相对灵活,阿里云CDN按流量计费大概0.24元/GB(折扣后),但有一个隐藏坑:预付费资源包的有效期是12个月,用不完不退,Azure按实际用量后付费,没有资源包,意味着如果业务量突然下降,至少不会被“套牢”。
细算下来根本不是那么回事,Azure的“请求计费”是一笔隐形开销,每100万个HTTPS请求收0.7美元(折合约5元人民币),而我们每天光是静态资源的请求就超过3000万次,光请求费一天就是150块,一个月4500块,阿里云虽然也有请求费,但大部分套餐直接包含在流量费里,或者低到可以忽略,Azure的回源流量也要单独付费(0.02美元/GB),而国内CDN的回源流量通常免费(只要用它们的云服务器),我算了一笔总账:相同业务量(日流量1.2TB,请求量3000万次),Azure CDN月费用大约是18700元,阿里云CDN大约15300元,贵了22%。
运维体验:规则引擎强,但监控报警弱
Azure的“规则引擎”是真的能打,它支持基于URL路径、请求头、设备类型、地理位置做精细化规则配置,甚至能直接改写响应头、配置URL重定向,我们做了一次AB测试:把部分移动端用户的图片切到WebP格式,用Azure的一条规则就搞定了,都不用改后端代码,国内CDN厂商也有规则引擎,但很多高级功能要加钱或者只有顶级版才有。
但它的监控和报警能力很弱鸡,Azure Monitor的CDN指标延迟很高,数据间隔最小是1分钟,而国内CDN普遍支持秒级监控,有一次我们的源站炸了,Azure CDN缓存的数据被清空,结果因为监控数据延迟,我看到告警时已经过去了8分钟,中间丢了一堆请求,后来我们自己写了一个外部健康检查服务才勉强补上。
适合谁?不适合谁?
不吹不黑的说,Azure CDN不太适合国内中小型互联网公司。 除非你有以下情况:1)你的业务本身就是全球性的,Azure的全球节点和跨区域调度是一绝,国内节点只作为补充;2)你的流量非常平稳,没有显著晚高峰,且对延迟要求不高(比如后端下载站、离线包分发);3)你的开发团队能把Azure的规则引擎和Monitoring API玩出花来,愿意投入精力做定制化运维。
对我们这种电商场景——突发流量、高并发、严苛的首屏体验——Azure CDN在晚高峰的延迟短板是致命的,我最后撤了Azure,重新和阿里云谈了折扣,并且把部分冷数据切到了腾讯云的低频存储加速,成本反而降了15%,如果非要用Azure,建议只把它当“备用线路”或“海外加速”,千万别当主力。
最后说一句公道话:Azure CDN本身技术不差,但它太“微软式”了——强大但不够接地气,国内CDN虽然问题也多,但在成本、延迟和易用性上,确实更懂我们的痛点。
发表评论