上个月大促,凌晨两点盯着监控大屏,看着那条原本该平稳的曲线突然抖成了心电图——源站带宽被打满,CDN回源率飙到47%,页面打开时间从1.2秒直接跳到8.6秒,那一刻我就知道,又该换CDN了,这不是第一次,也不会是最后一次,作为管着日均千万级请求量的运维老狗,我在国内CDN这个圈子里摸爬滚打了六年,交过的学费足够买一辆代步车。

国内CDN选型实录,从被坑到真香,我踩过的那些坑
先说结论:国内CDN没有绝对的神,只有适不适合你的业务,那些吹得天花乱坠的“全节点覆盖”“智能调度”,在真实流量冲击下,该露馅还是露馅。
第一次交学费:贪便宜选了小厂
2019年,公司刚起步,流量不大,图便宜选了一家二线CDN厂商,报价只有某云的三分之一,接入后发现,晚高峰时段全国平均首字节时间(TTFB)在南方电信节点能达到180ms,但北方联通节点直接飙到650ms,更离谱的是,跨运营商调度基本失效,移动用户访问电信源站,丢包率超过15%,那段时间客服工单满天飞,用户截图里全是转圈的loading图。
后来我做了个简单测试:用同一份静态资源,分别在凌晨3点和晚8点,从北京、上海、广州、成都四个城市的联通、电信、移动网络各发起100次请求,小厂的晚8点平均下载速度只有凌晨的31%,而某云的稳定在78%以上,数据不会骗人,省钱省出来的都是麻烦。
大厂也翻车:节点覆盖不等于质量
2021年,咬牙换了某头部云的CDN,想着大厂总该靠谱,结果那年双11,我们做了个秒杀活动,瞬时峰值达到平时流量的40倍,原本预热的静态页面和图片全部走CDN,前十分钟一切正常,到第十一分钟,突然大面积报错——502和504刷屏,查了日志发现,原来是该CDN在华东地区的两个核心节点过载,而它的智能调度系统没有及时把流量切到其他空闲节点,反而因为连接保持机制把请求继续往拥堵节点塞。
事后拿到报告,该云CDN的服务可用性SLA写着99.95%,但实际双11当天我们统计的可用性只有99.72%,虽然最后赔了代金券,但那次直接导致我们错过了一波销售高峰,损失远大于代金券的价值。
数据对比:三家主流CDN的真实表现
为了不再被坑,我后来专门做了一轮为期两周的评测,选了国内三家主流CDN厂商(简称A、B、C),用同一套测试脚本,覆盖了图片、JS、CSS、视频切片等常见资源类型,在全国30个省份的电信、联通、移动网络下,每个节点每天采样500次,最终汇总了约45万个样本。
首字节时间(TTFB)均值:
- A厂商:电信42ms / 联通58ms / 移动73ms
- B厂商:电信39ms / 联通61ms / 移动69ms
- C厂商:电信55ms / 联通79ms / 移动102ms
下载速率(1MB文件,单位KB/s):
- A厂商:电信1850 / 联通1620 / 移动1380
- B厂商:电信1720 / 联通1750 / 移动1490
- C厂商:电信1410 / 联通1230 / 移动980
缓存命中率(静态资源,默认配置下):
- A厂商:91.4%
- B厂商:89.7%
- C厂商:84.2%
注意,这只是均值,最让我惊讶的是移动网络的差距,C厂商在移动网络下的TTFB比A厂商高出近40%,而移动用户恰恰是我们现在最大的用户群体,占比超过55%,换句话讲,如果选了C厂商,你一半以上的用户会明显感觉“慢”,但后台指标可能还显示“正常”。
调度和刷新:看不见的坑
除了性能,CDN的缓存刷新和URL删除能力也极其关键,我们有一次更新了首页的配置文件,改了文件名带版本号,理论上不会命中旧缓存,但A厂商的刷新接口在短时间内提交超过2000个URL时,会随机丢弃部分请求,导致我们线上出现了部分用户加载到旧版CSS的情况,页面样式错乱,后来查文档才知道,该厂商的刷新API有单次上限和频率限制,但文档里写的是“建议分批提交”,并没有明确报错,B厂商在这方面做得最好,支持通配符刷新,而且刷新生效时间只有5~10秒,而A厂商需要30秒左右,C厂商甚至有时要等几分钟。
还有HTTPS证书的自动续期,B厂商的脚本在证书到期前7天自动替换,我们从来没管过,A厂商有一次因为域名解析记录里多个CNAME冲突,导致证书校验失败,全站回源,直接裸奔了20分钟,这些细节,厂商不会在销售PPT里告诉你。
最终结论:按需选择,别迷信排名
经过这么多年的踩坑和实测,我的结论是:
如果你的业务以电信用户为主,且对价格敏感,A厂商可以选,但要做好刷新延迟的心理准备。 它的电信节点覆盖确实无敌,连新疆、西藏的延迟都能控制在60ms以内。
如果你像我们一样,移动用户占比高,且经常有突发流量,B厂商最稳。 它的移动网络优化是国内独一档的,而且调度算法更智能,扩容速度也快,大促时基本没出过幺蛾子,虽然单价贵了大概15%,但省下的运维时间和用户投诉量,绝对值回票价。
至于C厂商,除非你的业务只在极少数地区,且对性能要求不高,否则不建议碰。 它的优势是便宜,但数据摆在那,移动网络下慢得让人心慌,缓存命中率也低,回源成本反而更高。
最后提醒一句:任何评测数据都只是参考,你自己的业务模型才是唯一的真理,我见过某个朋友公司用C厂商,因为他们的用户全在广东电信,结果表现就很好,别偷懒,拿你自己的资源,在你的目标城市,跑个一周流量再决定,CDN这东西,换一次的成本不只是钱,还有你的头发。
发表评论