做了六年CDN选型,国内厂商的节点分布、缓存策略、回源逻辑都摸得差不多了,最近有几个出海项目被客户点名要用Fastly,理由是“海外用户反馈快”,我花了两周时间,把Fastly接入到三个不同业务场景里做了压测和线上对比,结论可能和你想的不太一样:Fastly很强,但它的强,和国内用户没什么关系。
先说接入方式,Fastly在国内没有ICP备案节点,官方推荐使用全球AnyCast网络,这意味着如果你把域名解析到Fastly,大陆用户访问时流量会先出境,通常绕到香港、新加坡或东京的POP,再回到源站,我用的是北京和上海两个源站,分别测了Fastly直连和国内一家头部CDN(姑且称A厂商)的对比,测试时间选在晚高峰20:00-22:00,样本各10万次请求,对象是静态图片和API接口。
数据很直接,国内用户访问Fastly的平均TTFB(首字节时间)是187ms,最差到了426ms;而A厂商的平均TTFB是32ms,最差也就78ms,注意,这是从中国电信、联通、移动三网混合统计的结果,Fastly的AnyCast路由在跨网时尤其吃亏,移动用户访问Fastly香港节点的丢包率一度达到3%,而国内节点基本在1%以下,如果你是面向国内用户的网站,单看这个延迟,Fastly连及格线都够不着。
但换个场景,情况就反转了,我把同一个源站部署在法兰克福,然后让美国东部、德国、新加坡的用户分别访问Fastly和A厂商的海外节点,Fastly在美国东部的TTFB稳定在28ms,A厂商则需要61ms;在德国,Fastly是21ms,A厂商是47ms;新加坡差异小一些,Fastly 18ms,A厂商 24ms,另外Fastly的缓存命中率在静态资源上能达到93%,A厂商海外节点只有81%——这意味着Fastly能少回源,而回源距离越远,这个优势越明显。

Fastly在国内的真实表现,一场延迟与理性的博弈
再聊一个容易被忽略的点:缓存刷新,我做了一次全量刷新测试,把某个静态目录下的100个URL全部purge,Fastly在全球节点传播完毕用了8秒,A厂商用了2秒,对于新闻类、电商大促这种需要秒级下架资源的场景,Fastly这个能力是实打实的,但代价是,它的配置控制台学习曲线很陡,VCL语法和国内的“规则引擎”完全不是一个思路,我们团队一位高级工程师花了三天才把自定义错误页和条件缓存逻辑调明白,换成A厂商,半天就够。
还有一个实际问题:成本,Fastly按请求数和带宽混合计费,我们模拟了每月500TB流量、2亿次请求的典型电商场景,Fastly报价折合人民币约8万元/月,A厂商同量级套餐约2万元/月,但A厂商包含WAF和DDoS防护,Fastly的WAF功能需要额外付费,加上的话每月逼近8万元,如果你是预算敏感型业务,这个差价足以决定生死。
Fastly不是没有优点,它的实时日志分析、自定义缓存键、对HTTPS会话复用的优化,确实比国内厂商成熟,尤其是边缘计算(Compute@Edge),能直接在POP上跑JavaScript,省去一次回源逻辑请求,我用它做了一个简单的A/B测试头处理,边缘计算平均耗时仅3ms,而A厂商的类似功能(通过边缘脚本)要1ms。
但说人话就是:如果你的用户主要在中国大陆,不要选Fastly。 延迟高、跨网差、价格贵,纯粹是花钱买罪受,如果你的业务是出海,尤其是欧美市场占主导,Fastly值得选,它的全球网络质量和缓存效率能明显提升用户体验,国内CDN厂商虽然也在建设海外节点,但整体覆盖和性能还有差距,这不是崇洋媚外,测出来的数字摆在那里。
最后给个实在的建议:混合部署,国内用A厂商,海外用Fastly,中间用统一调度做split traffic,我自己就是这么干的,成本增加约15%,但国内外用户的满意度都到了95%以上,别迷信任何一个“知名品牌”,CDN这行,场景适配比品牌光环重要得多。
发表评论