说实话,我本来没打算测CDN,但前两天朋友问我:“为啥我家的移动看冬奥开幕式,进度条转圈比宁忠岩滑冰还慢?你那个什么CDN能解决不?”作为一个每个月倒腾几百块CDN费用的“发烧友”,我当场就上了头——2022年北京冬奥,全球数十亿次并发请求,国内CDN到底扛不扛得住?
冬奥直播卡成PPT?我测了5家国内CDN,结果意料之外
先上测试环境
我把测试条件说得明明白白:全国12个观赛热点城市(北京、哈尔滨、上海、广州、成都、西安、武汉、杭州、深圳、沈阳、青岛、乌鲁木齐)各找了一位朋友帮忙,节点统一用阿里云ECS 2核4G,操作系统CentOS 7.9,测试工具是Siege 4.1.6和curl自带测速。
测试对象:阿里云CDN、腾讯云CDN、华为云CDN、网宿、白山云。对比竞品:自己搭了一个Nginx源站,IP暴露在华东。:冬奥直播带货场景的HLS流文件、赛事回放MP4(30秒片段)、各类静态资源,每个文件大小从512KB到10MB不等。测试时段:2月4日开幕式、2月8日谷爱凌大跳台决赛、2月12日高亭宇速滑夺金日——三个流量最高峰的晚间20:00-22:00。
实测数据,直接上干货
延迟对比(单位ms,越低越好,取各节点平均值):
- 阿里云:38(华北)、47(华东)、62(华南)、79(西南)、102(西北)
- 腾讯云:34(华北)、52(华东)、71(华南)、88(西南)、116(西北)
- 华为云:41(华北)、49(华东)、68(华南)、84(西南)、127(西北)
- 网宿:31(华北)、44(华东)、59(华南)、76(西南)、98(西北)
- 白山云:39(华北)、54(华东)、72(华南)、91(西南)、110(西北)
- 自建源站:89(华北)、132(华东)、161(华南)、208(西南)、267(西北)
看到没有?自建源站就是个传说——你开再大的带宽,物理距离摆在那里,西北用户访问华东源站,200多ms延迟跑不掉,而我测试的这5家CDN,在关键节点部署了边缘缓存,延迟普遍砍了一半以上。
但更刺激的来了:下载速度(MB/s,取中位数)
在开幕式的2小时内,我让哈尔滨的朋友(联通,晨晨)用4G网络下5MB的MP4文件:
- 阿里云:2.1 MB/s,稳定,但有两次突然降到0.8 MB/s,疑似节点过载
- 腾讯云:1.9 MB/s,全程平稳,波动极小
- 华为云:1.7 MB/s,开局1.2 MB/s,后段回升
- 网宿:2.5 MB/s!三次测试都在2.2-2.8 MB/s之间,峰值3.1 MB/s
- 白山云:1.5 MB/s,一次直接卡在1.0 MB/s没爬上来
我当时在群里差点喊出来:网宿,你这个速率离谱! 后来查了,网宿在黑龙江有独立节点,冬奥期间他们还给央视、咪咕做了专项调度,难怪。
缓存命中率(HIT ratio,%):
- 阿里云:86%(静态资源)、72%(动态视频切片)
- 腾讯云:83%、68%
- 华为云:79%、62%
- 网宿:91%、81%
- 白山云:77%、59%
这个数据啥意思?命中率越高,回源越少,用户体验越稳定,网宿的静态资源91%命中率意味着100个请求里只有9个需要去源站拿,其他都在边缘解决了,毫不夸张,我测了第七天的时候,直接给网宿的销售打了电话,问他们能不能开个人版——结果人家说“只做大客户”,真实。
几个“翻车”瞬间
测到第四天,上海的用户(小北,电信)突然反馈:用腾讯云看高亭宇那一场的15秒花絮,进度条卡了3秒,然后直接跳到结尾,我赶紧查日志,发现高峰期华东节点回源延迟涨到了180ms,而腾讯云的动态切片HIT率掉到了52%,明显是资源调度没跟上。
更离谱的是,乌鲁木齐的用户(老马,移动)告诉我:“我用华为云看的,前面流畅,一到比赛关键时刻就变到480P。”我抓包一看,华为在新疆只有一个节点,而且缓存策略是“按需加载”,导致大片请求回源,带宽直接被打满。
反过来,网宿在新疆的表现反而很稳——事后我才知道,网宿为了冬奥,在新疆新增了3个边缘节点,专门服务西部用户,这帮做老CDN的,确实有预案。
谁赢了?说人话
追求极致稳定,预算不是问题:直接上网宿,91%命中率、2.5 MB/s的下载速度、西部节点充足,就是贵,一年几十万起。
性价比最高,个人或中小团队:阿里云,全国覆盖均匀,延迟波动小,还提供免费的HTTPS加速,失误次数3次内。
腾讯云好是好,但高峰期的调度能力有点拉:适合非热点时段,比如播赛事回放,不是实时直播。
华为云和白山云:一个偏技术向但节点少,一个偏简单但性能中游,适合预算十分有限的场景。
严肃说一句:任何CDN都挡不住你家路由器抽风,如果你家看冬奥卡成PPT,先换个6类网线,再查查邻居是不是在用迅雷下蓝光原盘,别什么都甩锅给CDN。
但我测完后,自己掏钱买了网宿的团队版……那晚看苏翊鸣比赛,4K顶配,从没卡过,你说值不值?



发表评论