CDN性能比较应该选哪些指标?延迟、可用性与吞吐量判断方法
比较两家CDN时,最容易得到的数据通常是平均延迟。
A厂商45毫秒,B厂商52毫秒,看起来A更快。但如果继续查看,可能发现A的P95延迟明显更高,部分地区经常超时;B的典型速度稍慢,却在核心用户地区更稳定。
如果业务是软件下载或视频分发,几十毫秒的延迟差距还可能远不如吞吐量重要。对于登录、支付和API业务,可用性、错误率和尾部延迟又会比静态图片的下载速度更关键。
所以,CDN性能比较不能只问“哪家延迟最低”,而应该同时回答四个问题:
多数用户访问有多快;
最慢的那部分用户体验如何;
请求能否稳定成功;
CDN是否适合当前业务传输的内容。
在统一测试条件下,至少应比较地区与运营商、P50延迟、P95延迟、可用性、失败率、吞吐量和样本量。进入真实业务POC后,还要补充缓存命中、回源性能、错误状态码和高峰期表现。
CDN性能比较的核心指标一览
指标 | 主要回答的问题 | 适合哪些业务 |
|---|---|---|
P50延迟 | 多数用户的典型速度如何 | 网站、图片、静态资源 |
P95延迟 | 较慢用户的体验是否可接受 | API、SaaS、关键交易 |
可用性 | 请求能否稳定成功 | 所有线上业务 |
失败率 | 哪些地区、错误类型集中出现 | 跨境、三网、多地区业务 |
吞吐量 | 大文件持续传输能力如何 | 视频、下载、图片站 |
地区表现 | 核心市场是否真正覆盖 | 全球网站、出海业务 |
运营商差异 | 电信、联通、移动是否均衡 | 中国大陆用户 |
样本量 | 当前结论有多少观测支撑 | 排名、选型和长期对比 |
波动性 | 性能是否稳定、是否偶发变慢 | 高峰流量、关键业务 |
缓存命中率 | 内容能否在边缘直接返回 | 静态内容和媒体分发 |
这些指标不能脱离测试对象使用。用一个5KB静态文件得出的延迟排名,不能直接代表10MB软件包的下载体验;用热缓存资源测试,也无法说明动态API或缓存MISS时的回源表现。
P50延迟:看大多数请求的典型表现
P50也叫中位数。把所有请求耗时从低到高排列,位于中间位置的值就是P50。
假设某家CDN五次请求耗时分别是:
30ms、35ms、40ms、45ms、800ms它的P50是40毫秒。这个值能代表多数请求的典型水平,不会像平均值那样被一次800毫秒的异常明显拉高。
P50适合用于:
判断普通用户的大致访问速度;
比较相同地区内不同CDN的典型性能;
观察迁移前后的整体变化;
评估静态文件和常规页面的基础交付能力。
但P50也会隐藏尾部问题。上面的测试中,P50只有40毫秒,却仍有用户遭遇800毫秒请求。如果业务只看P50,可能会得出“性能很好”的结论,而客服仍然持续收到访问慢的反馈。
因此,P50应该与P95、失败率和地区分布一起使用。
P95延迟:看较慢用户遇到了什么
P95表示95%的请求不超过该值,剩下约5%的请求更慢。它比P50更能反映尾部延迟。
Google SRE关于服务等级指标的说明也强调,只监控平均延迟可能看不到尾部性能变化;P50更接近典型体验,高位百分位则有助于观察较差用户所经历的情况。
P95尤其适合以下业务:
登录和身份验证;
支付与订单提交;
动态API;
SaaS控制台;
游戏活动接口;
高频刷新页面;
对响应一致性敏感的企业应用。
比较时可能出现三种情况:
结果 | 可能说明什么 |
|---|---|
P50低、P95也低 | 多数请求快,尾部表现也较稳定 |
P50低、P95很高 | 平时快,但部分地区或时段波动明显 |
P50和P95都高 | 整体访问距离、节点或目标性能可能存在问题 |
如果A厂商P50为40毫秒、P95为300毫秒,B厂商P50为50毫秒、P95为90毫秒,对于关键API而言,B反而可能是更稳妥的选择。
P95不是越低越好到可以脱离样本判断。只有几十个样本时,少量请求就会明显改变结果,因此必须同时检查样本数量和覆盖范围。
平均延迟还能不能看
可以看,但不应单独使用。
平均值适合观察整体趋势,也方便进行容量和长期变化分析。不过,它对极端值非常敏感。一次超时、节点故障或临时网络抖动,就可能明显抬高平均值。
CDN性能比较中,建议按以下组合观察:
P50:典型用户;
P95:较慢用户;
最大值:极端异常;
平均值:整体趋势;
标准差或波动范围:稳定程度;
失败率:没有成功完成的请求。
如果平台只提供一个“平均响应时间”,没有节点明细、百分位数和失败情况,就很难判断差距来自大多数用户,还是少数异常节点。
可用性:先确认请求能不能成功
速度再快,如果频繁返回错误或超时,仍然不能算性能好。
测试层面的可用性通常可以理解为:
成功完成的有效请求数 ÷ 符合统计条件的请求总数 × 100%但“成功”的定义必须提前确定。
仅把HTTP请求完成视为成功,可能会把404、403甚至自定义错误页面也计算进去;只接受200状态,又可能错误排除正常的206分段响应或304缓存响应。
比较CDN时,建议分别记录:
连接成功率;
HTTP请求完成率;
2xx、3xx、4xx和5xx比例;
DNS失败;
连接超时;
TLS失败;
下载中断;
测试端主动取消;
因WAF或限速返回的错误。
需要特别区分“第三方实测可用性”和“合同SLA”。前者反映探针在统计周期内是否成功访问目标,后者是厂商合同定义的服务承诺、计算公式、排除条件和赔偿机制。
例如,Amazon CloudFront的官方SLA会按照其定义的错误率和统计条件判断是否满足服务承诺。第三方探测不使用完全相同的合同口径,因此不能直接用实测可用率代替SLA结论。
失败率:比“99.9%可用”更容易定位问题
可用性适合做整体比较,失败率明细更适合排查问题。
如果一家CDN的可用性是99.8%,还需要继续问:
失败是否集中在某个国家;
是否只有中国移动节点失败;
是DNS错误、连接超时还是HTTP 5xx;
是否集中发生在晚高峰;
是否只影响IPv6;
是否是测试目标对探针限速;
是否所有失败都指向同一个节点IP。
两家CDN的可用率可能相同,故障性质却完全不同。
A厂商的失败随机分散,每个地区偶尔发生;B厂商的失败全部集中在主要付费用户所在国家。即使数字一样,业务影响也不会相同。
因此,CDN性能比较应保存原始错误类型,而不是只保留成功率百分比。
吞吐量:视频和下载业务不能只看延迟
延迟衡量请求开始响应得快不快,吞吐量衡量内容能以多快的速度持续传输。
对于一个5KB图标,40毫秒和60毫秒的延迟差异可能很明显;对于一个2GB视频文件,真正决定完成时间的往往是持续吞吐能力、拥塞控制和传输稳定性。
吞吐量通常使用Mbps表示:
吞吐量 = 已传输字节数 × 8 ÷ 传输时间测试时至少要控制:
文件大小相同;
URL和缓存状态相同;
测试节点相同;
并发数相同;
是否启用压缩;
是否支持Range请求;
测试持续时间足够长;
没有触发厂商或业务侧限速。
文件太小时,DNS、连接和TLS时间会占据较大比例,难以反映持续传输能力。大文件测试则要避免无意义地反复消耗带宽。
Google Cloud官方将Media CDN定位于视频流和大文件下载等高吞吐场景,而普通Cloud CDN更侧重网页和通用Web资产,这也说明不同业务对CDN性能指标的权重并不相同。
TTFB:重要,但不能简单等同于源站处理时间
TTFB是从请求开始到收到响应首字节的时间。它经常被用来判断CDN或源站响应速度,但这个指标包含的环节比“服务器处理时间”更多。
根据web.dev的定义,TTFB可能包括重定向、DNS查询、连接和TLS协商,以及等待服务器或CDN开始返回内容的过程。
因此,TTFB高可能来自:
DNS解析缓慢;
TCP或QUIC连接时间高;
TLS握手慢;
CDN缓存MISS;
回源距离过远;
源站程序或数据库慢;
WAF检查耗时;
请求排队;
多次重定向。
比较两家CDN时,应将TTFB继续拆开,而不是看到A厂商TTFB高就直接判断它的边缘节点处理能力差。
更合理的拆分是:
DNS
→ 建立连接
→ TLS协商
→ 请求与等待首字节
→ 内容下载CDN对静态缓存HIT和动态回源请求的TTFB表现可能完全不同,因此两种场景应分别测试。
地区表现:全球平均值可能掩盖核心市场
一家CDN在全球平均延迟中表现不错,不代表它在你的核心市场表现最好。
如果业务用户主要来自中国大陆,应分开观察:
华东、华南、华北、东北、西南、西北和华中;
中国电信、中国联通、中国移动;
家庭宽带与数据中心网络;
IPv4与IPv6;
核心城市与长尾地区。
如果业务面向海外,则应按国家或市场拆分,例如北美、欧洲、日本、东南亚、拉美和中东。不能把美国、新加坡、德国和巴西合成一个“海外平均值”。
比较地区表现时,应优先回答:
核心用户是否能够命中当地或合理区域的节点;
不同运营商之间差距是否过大;
慢节点是否集中在某个国家或ASN;
全球平均值是否被样本较多的地区主导;
样本分布是否与真实用户分布接近。
如果70%的付费用户来自日本,日本区域的表现就应该获得更高权重,而不是让全球其他地区的样本平均稀释它。
样本量:没有样本支撑的精确数字没有意义
看到两家CDN的P50分别是42.1毫秒和43.7毫秒,很容易认为前者更快。但如果一方有几万个样本,另一方只有几十个样本,这个小差距未必稳定。
样本量需要和以下信息一起看:
统计周期;
测试区域;
每个区域的样本数;
成功完成率;
节点类型;
是否使用统一测试对象;
异常值处理方式;
是否为实时测量或参考基线。
样本总数大也不代表覆盖合理。如果10万个样本主要来自北美,就不能充分证明中国大陆或东南亚表现。
CdnChart当前测试方法与评分标准规定,进入真实覆盖计算需要至少3个合格区域,每个区域在最近24小时至少有24个样本,且完成率达到95%;未达到真实指标门槛的维度可能继续显示参考基线。页面也公开说明,真实探针覆盖仍在建设,目标站点波动、限流和临时网络抖动都可能影响结果。
这类说明很重要,因为它告诉用户哪些数字来自当前真实样本,哪些数据仍需要通过后续测试验证。
缓存命中率:决定CDN是否真的在边缘交付内容
CDN性能不仅取决于节点离用户多近,还取决于内容能否从节点直接返回。
缓存命中率一般表示可缓存请求中,由边缘缓存直接响应的比例。命中率较低时,即使边缘节点连接很快,大量请求仍然需要回源,TTFB和源站压力都可能增加。
比较缓存性能时,应区分:
请求命中率;
字节命中率;
静态资源命中;
HTML或动态内容命中;
热门内容与长尾内容;
不同地区的命中率;
HIT、MISS、EXPIRED和REVALIDATED;
回源流量占比。
请求命中率高,不一定代表节省的流量多。如果命中的都是几KB小文件,而大视频持续回源,字节命中率仍可能很低。
这项数据通常需要从各CDN厂商后台或日志获得,第三方公开测试很难完整还原企业自己的缓存规则。因此,缓存命中率更适合在试用和POC阶段比较,而不是仅依靠公开排行榜判断。
波动性:偶尔很快不如持续稳定
性能比较不能只看“最快一次”。
同一家CDN可能在凌晨表现很好,晚高峰却明显变慢;也可能P50长期稳定,但少数节点频繁出现连接超时。
建议观察:
每小时P50和P95趋势;
最低、最高和中位数;
高峰期与低峰期差异;
工作日与周末差异;
失败节点是否反复出现;
同一节点的抖动范围;
CDN切换或故障恢复时间。
对于API、登录和交易业务,波动小通常比偶尔达到极低延迟更重要。用户对“每次都稍慢一点”的容忍度,往往高于“多数时候很快、偶尔卡住几秒”。
综合评分能不能直接用
综合评分适合快速缩小范围,但不适合代替业务判断。
任何综合评分都隐含权重。例如:
综合评分
= 延迟权重
+ 可用性权重
+ 吞吐量权重
+ 安全或协议权重如果平台更重视延迟,最快的厂商排名会更靠前;如果提高可用性权重,结果可能变化;对视频业务增加吞吐量权重,排名还会再次改变。
使用综合评分前,应查看:
包含哪些指标;
每项权重是多少;
缺失数据怎样处理;
参考基线是否参与;
全球和地区指标如何组合;
样本是否达到公开门槛。
综合评分相近时,不应纠结一两分差距。更合理的做法是保留几家候选,再进入地区测试和真实业务POC。
不同业务应该怎样设置指标权重
企业官网和内容站
优先关注:
核心地区P50;
P95;
可用性;
状态码和失败率;
静态缓存命中;
图片及脚本下载时间。
这类网站可以适当重视典型访问速度,但不能忽略移动端、三网和页面资源。
API与SaaS平台
优先关注:
P95甚至更高百分位;
动态请求TTFB;
连接和TLS时间;
5xx与超时比例;
高峰期稳定性;
WebSocket、HTTP/2或HTTP/3实际兼容性。
API请求通常无法长期缓存,因此静态文件测速结果参考价值有限。
图片与软件下载
优先关注:
吞吐量;
下载成功率;
Range请求;
大文件缓存;
高峰期速度;
字节命中率;
流量和回源成本。
几十毫秒延迟差异通常不如持续下载速度重要。
视频点播与直播
优先关注:
吞吐量;
首帧或起播时间;
卡顿率;
分片请求成功率;
热门与长尾内容命中;
峰值并发;
多地区稳定性。
公开CDN排行榜只能完成初筛。起播、卡顿和分片错误需要使用真实播放器、实际视频编码与业务流量继续测试。
中国大陆用户为主的网站
优先关注:
电信、联通、移动;
核心省份和城市;
P50与P95;
失败率;
节点调度;
IPv4与IPv6;
备案、接入条件和技术支持。
全球平均延迟不应覆盖中国大陆三网的实际差异。
怎样使用CdnChart进行CDN性能比较
CdnChart的CDN厂商对比页面当前支持最多选择5家CDN并排比较,展示综合评分、P50延迟、P95延迟、可用性、P50吞吐、安全可实测项、HTTP/3和计费模式等字段。
截至页面显示的2026年9月26日00:00:14,对比页候选池为61家厂商,其中中国大陆厂商9家、全球厂商52家,24小时页面样本为227,522。
不过,同一时间的方法论页面显示健康探针为6/350、覆盖就绪厂商为0,并说明未达到门槛的真实指标可能继续使用参考基线。
因此,当前页面更适合:
了解哪些指标可以并排比较;
从候选池中缩小厂商范围;
观察统一口径下的初步差异;
找出需要在POC中重点验证的指标。
不适合把当前某个名次或几毫秒差距直接当作最终采购结论。使用时应同时查看数据更新时间、样本量和方法论说明,确认某项数据是否具有足够的真实覆盖。
如果还不确定怎样从榜单缩小范围,可以参考《全球CDN排行榜:怎样筛选适合自己业务的厂商》。
真实业务POC应该怎样设计
公开数据用于初筛,最终比较应使用自己的业务内容。
建议为每家候选CDN准备相同测试对象:
测试对象 | 主要观察指标 |
|---|---|
10KB左右静态文件 | DNS、连接、典型延迟 |
100KB至500KB图片 | 缓存命中、下载时间 |
5MB至20MB文件 | 吞吐量、失败率 |
动态HTML | TTFB、回源和源站处理 |
公开API | P95、超时和状态码 |
视频分片 | 吞吐、Range、分片成功率 |
冷缓存请求 | 回源性能 |
热缓存请求 | 边缘交付性能 |
测试时控制以下变量:
使用相同URL和响应内容;
使用相同节点、地区和运营商;
记录响应大小;
区分缓存HIT与MISS;
同时测试IPv4与IPv6;
覆盖业务高峰;
连续运行多天;
保留状态码和失败原因;
分开统计P50和P95;
不因一次最快结果做决定。
如果候选厂商需要不同接入域名,可以为测试域名准备相同源站、缓存规则和文件,避免配置差异污染结果。
性能以外还要比较什么
性能接近时,真正影响长期使用的往往不是几毫秒差距,而是产品能力和运营成本。
还需要独立核对:
流量、请求和回源计费;
缓存刷新与预热限制;
日志可用性和延迟;
WAF、DDoS和Bot管理;
源站保护;
证书管理;
API和自动化能力;
配置发布速度;
技术支持;
SLA及赔偿条款;
合规和数据区域;
退出与迁移难度。
性能测试不能替代合同评估、安全测试和价格谈判。厂商宣传的节点数量、防护规模和SLA,也不能直接混入第三方实测评分。
常见问题
CDN性能比较最重要的三个指标是什么?
如果只能先选三个,建议看核心地区P50、P95和可用性。视频及下载业务还应把吞吐量列为核心指标。
P50和平均延迟有什么区别?
P50是中位数,更接近典型请求;平均值会受到少数极慢请求影响。两者都可以看,但P50通常更适合描述大多数用户的访问体验。
P95越低,CDN就一定越好吗?
不一定。还要看样本量、地区分布、测试对象和失败率。少量样本得到的低P95不一定稳定,测试静态小文件也不能代表动态API。
CDN可用率99.9%就代表达到99.9% SLA吗?
不代表。第三方可用率来自探针测试,SLA按照厂商合同中的时间窗口、错误定义和排除条件计算,两者口径可能不同。
吞吐量高但延迟一般,适合什么业务?
通常更适合视频、大文件下载、软件分发和大图传输。对于小型API和登录请求,连接与响应延迟可能更重要。
为什么CDN排行榜和自己的测试结果不同?
排行榜使用统一目标和样本口径,你的业务具有不同源站、缓存规则、用户地区和内容大小。榜单用于初筛,真实业务POC用于最终验证。
测试CDN应该用首页还是静态文件?
两者都要测试。静态文件观察边缘缓存和传输能力,首页或API观察动态请求、回源和源站处理。只测一种内容容易得出片面结论。
两家CDN性能差距很小时应该怎么选?
继续比较核心地区P95、失败率、高峰期波动、缓存命中、费用、日志、技术支持和安全能力。几毫秒差距通常不应压倒业务适配和运维成本。
- CDN性能指标
- CDN延迟对比
- CDN可用性
- CDN吞吐量
- CDN厂商对比
- CDN测速
- CDN选型