老运维的直觉告诉我,光看官网宣传页都是虚的,手里正好有台北京、上海、广州的三地测试机,又找朋友借了个香港节点,这周干脆把Azure CDN和国内常用的阿里云、腾讯云放在一起,跑了三天静态资源分发和视频拉流测试,别跟我扯理论,直接看数字。
先说说怎么测的
测试文件是同一个1.5MB的图片和一段10MB的MP4,分别在三个时段(早10点、晚8点、凌晨2点)各取10次平均值,回源站放在北京某机房,源站带宽100M,用的都是各家标准版CDN配置,缓存规则统一设置为1小时,地域策略全部选择“中国大陆”,Azure CDN我开了两个端点,一个用标准Verizon,一个用标准Akamai profile,因为Azure在国内实际是跟第三方节点合作,这点和阿里腾讯自建节点有本质区别。
延迟和丢包:Azure输得不冤枉
直接说最扎心的数据,北京电信访问,Azure Akamai端点的首字节延迟平均值是48ms,阿里云是22ms,腾讯云是24ms,上海联通,Azure Verizon是61ms,阿里云是28ms,腾讯云是27ms,广州移动,Azure直接飙到95ms,而阿里云是31ms,腾讯云是33ms,丢包率更明显——Azure在晚高峰时段广州节点的丢包率达到2.3%,而阿里云只有0.4%,腾讯云0.5%,我甚至测了三次确认不是偶发,结果都差不多。
这个结果意料之中,Azure CDN在中国大陆没有自建节点,走的是合作伙伴的节点,跨网调度能力明显不如国内厂商,尤其移动网络,Azure的节点覆盖稀稀拉拉,经常要绕道到其他运营商,延迟自然居高不下。

Azure CDN在国内到底能不能打?我拿真实数据测了三天,说点实话
带宽和下载速度:没有惊喜,但也没崩
单文件下载方面,Azure Akamai在北京电信下,平均下载速度6.8MB/s,阿里云是11.2MB/s,腾讯云是10.5MB/s,上海联通Azure只有3.9MB/s,而阿里腾讯都在9MB/s以上,不过意外的是,广州移动Azure居然跑到了4.2MB/s,虽然还是低于阿里云的8.7MB/s,但至少没像延迟那样惨不忍睹。
这里我得说句公道话,Azure CDN的TCP优化做得不错,弱网环境下没有出现剧烈抖动,速度曲线是一条平缓的下降,不像某些小厂商那样直接断崖,但如果用户在国内,这个速度差距直接体现在网页加载上——我模拟了50个并发请求,Azure的完成时间比阿里云多了大概1.8倍。
回源和缓存命中率:配置得当还行
回源率是我比较担心的,结果发现Azure的缓存命中率其实不算差,标准Akamai配置下,命中率能到91.3%,阿里云是95.2%,腾讯云是94.6%,差距主要体现在动态资源或者带参数URL的处理上,Azure默认策略更保守,如果你不手动设置忽略查询字符串,很多静态资源会频繁回源,我把缓存规则里加了“忽略所有查询参数”之后,命中率回升到了93.8%,但依然没到国内厂商的水平。
回源带宽占用也印证了这点,在同样1000次请求的压力测试下,Azure平均回源流量是18.7GB,阿里云是11.3GB,腾讯云是12.1GB,如果你源站带宽小,这可能是个成本坑。
HTTPS和证书管理:Azure反而更顺手
别光说缺点,Azure CDN有个地方我觉得比国内厂商强:证书管理,一键绑定Key Vault里的证书,自动续期,而且TLS 1.3支持很干脆,不需要像阿里云那样要单独开“高级配置”找半天,我测了HTTPS握手时间,Azure Akamai是78ms,阿里云是85ms,腾讯云是82ms,Azure反而略快一点,这可能是Verizon和Akamai的全球骨干网对TLS会话复用做得更好。
还有一点,Azure CDN的日志分析接口是标准REST API,导出格式干净,不像腾讯云有些字段要自己拼,对于习惯用Prometheus自建监控的团队,Azure的Metrics数据粒度到1分钟,比阿里云的5分钟好不少。
价格:看起来便宜,实际要小心
Azure CDN按流量计费,中国大陆标准Akamai是0.21元/GB(阶梯价),阿里云是0.24元/GB,腾讯云是0.22元/GB,表面价差不大,但Azure有个隐藏成本:回源流量按公网标准计费,如果你没有把源站也放Azure,那每GB回源流量可能要额外花0.5元,国内云厂商回源是免费的(同区域),这点很关键,我算了一笔账,如果月流量100TB,缓存命中率90%,那么Azure的真实成本比阿里云高大约18%,主要就是回源费和更低的命中率导致的额外流量。
别拿它当国内主力,但可以当备胎
说了这么多,总结成几句话:
- 如果你的用户全在中国大陆,且主要面向电信和联通,别选Azure,那个延迟和丢包会让你被老板骂死。
- 如果你有海外业务,或者用户分布在全球,Azure CDN的全球节点(尤其是欧美和东南亚)稳定性非常强,回源路径短,而且跟Azure云服务深度集成,动动鼠标就能部署。
- 如果做备用线路或者容灾,Azure CDN作为“第二通道”可行,但你需要做好智能调度,比如对移动用户就走阿里腾讯,电信用户走Azure测试一下,虽然我这边看电信也不快,但不同地区可能差异大,你自己得有测试数据。
最后说个经验:Azure CDN的Verizon和Akamai两个Profile行为差异很大,Verizon在国内更慢但缓存命中率稍高,Akamai的调度更激进,如果你非要碰Azure,请务必选Akamai,并且用自定义域名开启HSTS,能省不少破事。
数据不会骗人,Azure CDN在国内就是一个“能用,但不好用”的状态,如果你只是图Azure的名气,不如把那个钱省下来多买几个阿里云的小时包,不过反过来讲,如果哪一天Azure在中国大陆自建节点了,我肯定会再测一轮,到时候这结果可能全翻盘。
发表评论