摄行科技 企业活动影像服务
直播回源带宽为什么总是超预算,我把一个月的账单一格一格抄了一遍-摄行科技
新闻资讯

直播回源带宽为什么总是超预算,我把一个月的账单一格一格抄了一遍

直播回源带宽超预算,八成不是观众变多而是回源没收敛。按九五计费口径逐格抄开整月账单,算清多码率、预热与无效重连各吃多少钱,给出六条压降动作,可找摄行科技做账单体检。

直播回源带宽为什么总是超预算,我把一个月的账单一格一格抄了一遍-摄行科技

直播知识

直播回源带宽为什么总是超预算,我把一个月的账单一格一格抄了一遍

摄行科技

去年 11 月中旬的一个周四下午两点半,我坐在华东某制造园区的临时导播间里,桌上摊着上个月的 CDN 账单,旁边是没吃完的盒饭,头顶排风扇一直在响。那天我干了件挺笨的事——把直播回源带宽的采样数据导成表格,像小区抄水电表那样,一格一格往下对。对到第三遍我才肯承认:这笔超支跟观众人数几乎没关系。预算是每月 6 万,账单开出来 8.74 万,超了 45.7%。而那个月的总观看人次,比上个月还少了一千二百多。

那张账单我抄了三遍,才发现直播回源带宽不是按人头算的

很多甲方看账单的方式是"总额除以人数",算出一个每人多少钱,然后跟我说人是不是太多了。这个算法从根上就错。CDN 结算的对象是带宽,不是人。而带宽里真正贵的那部分,是从边缘节点回到源站取数据的那一段。边缘节点手上没有的内容,它就往回要,这一要就产生费用。所以摄行科技在做账单复盘时,第一件事永远是把"边缘出口流量"和"回源流量"拆成两列,分开抄。

那个月的边缘出口峰值是 4.83 Gbps,回源峰值 0.86 Gbps,回源率 17.8%,命中率 82.2%。听起来命中率还行,但 0.86 Gbps 的回源,按当时的单价一算就是两万出头,占了整张账单的 35.7%。这事儿真挺离谱的:三分之一的钱,花在了"边缘没存住"这四个字上。

九五计费的算法,说白了就是砍掉最贵的那 432 个点

先把计费口径说清楚,不然后面的账全是糊的。供应商给我们的是 5 分钟粒度采样,一个 30 天的月份就是 8640 个采样点。九五计费的做法是:把这 8640 个点从高到低排序,砍掉最高的 5%,也就是 432 个点,剩下最高的那一个点,就是当月计费带宽。

那个月我们的绝对峰值是 1.24 Gbps,出现在一场全球经销商大会开场的那七八分钟里。如果按峰值计费,1.24 × 2.36 万 = 2.93 万。但按九五口径,计费值是 0.86 Gbps,2.03 万。中间差了 0.9 万,这 0.9 万就是九五计费白送给你的容忍度。

问题也出在这儿。很多人知道有 5% 的免费额度,就默认"偶尔冲一下没事"。可 432 个点摊到 30 天,每天只有 14.4 个点,也就是 72 分钟。一个月要是开了 18 场直播,每场开场冲高 6 分钟,额度就用完了,剩下的全部原价进账单。我为了搞清楚这个,把 5 分钟采样按每三个一组聚合成 15 分钟一格,打印出来用红笔圈,才看出规律。

顶高峰的其实是四个不起眼的时刻

抄完表我发现,把九五值顶上去的不是大会主论坛,而是四类完全不起眼的时刻。

一是彩排。彩排没人看,但推流是真推的,多码率转码是真开的,回源一分不少。那个月有 11 次彩排,全落在工作日的下午三点到五点,正好跟别的项目的正式场撞在一起叠加。我后来专门去翻了排期表,发现彩排时间是行政同事按会议室空闲情况排的,压根没人问过技术侧那个时段忙不忙。把彩排挪到上午十点之后,光这一项曲线就平了一截。

二是散场后的十几分钟。观众陆续退出,播放器却在反复重试拉最后一段,产生一大堆短连接。

三是录制回传。我们把高码率母带回传到源站做存档,那条流走的是同一个通道,直接把回源曲线拉出一个尖。

四是深夜的巡检脚本。运维同事写的探活程序每 5 分钟拉一次全码率首片,本意是好的,结果每次都强制回源,24 小时不停。这一条一个月吃掉 0.07 Gbps 的基线,看着不多,但它是抬高整条曲线底座的那只手。这四类加起来,占了直播回源带宽超出部分的 71.3%,全都跟观众无关。

多码率同时开,直播回源带宽会悄悄翻一倍

这是我最想说的一段。当时那个项目开了 5 档清晰度:原画、超清、高清、标清、流畅。市场部的理由很朴素——"总得让所有人都能看"。

但边缘节点缓存是按"清晰度档位 × 切片"来存的。5 档就意味着同一段内容在边缘要存 5 份,命中率被摊薄 5 次,冷启动时回源要跑 5 遍。我把回源日志按档位拆开一看,原画和流畅这两档加起来只占总观看时长的 6.3%,却吃掉了 34.1% 的回源量。

后来我们砍到 3 档,只留超清、高清、标清。回源九五值从 0.86 掉到 0.59,降了 31.4%。同期我们还认真比过换一家 CDN 供应商,谈下来的最好折扣是单价降 12%。也就是说,删掉两个清晰度档位省的钱,比换供应商多出快两倍。摄行科技后来把这条写进了标准勘场清单:先问档位,再谈单价。

回源率这个词,比命中率更值得盯

行业里习惯报命中率,因为好看。95% 的命中率听着很棒,但换算成回源率是 5%,如果你的出口峰值是 4.8 Gbps,那回源就是 0.24 Gbps。命中率从 95% 掉到 91%,听起来只差 4 个点,回源却从 0.24 涨到 0.43,接近翻倍。账单是按后面那个数走的。

所以我现在只看回源率的绝对值,不看命中率。我们内部给的验收线是:会议类直播的回源率要压到 6.5% 以下,超过 9% 就要开复盘会。这条线不是拍脑袋定的,是把过去两年三十多个项目的数据摞在一起画出来的分位数。摄行科技的运维看板上,直播回源带宽这一栏是跟回源率并排放的,两个数一起看才有意义。

顺带一提,节点覆盖不足会直接体现在回源率上。那个项目里有一批观众在西部一个会展中心的现场 Wi-Fi 下看,最近的边缘节点在两千公里外,命中率只有 61%。补了两个区域节点之后,那批人的回源量掉了三分之二。关于运营商互联互通和节点布局的公开口径,可以在工业和信息化部的通信行业统计里找到不少参考数据。

无效重连风暴,是自己给自己刷账单

前年在华南一个物流园做过一场,现场网络是临时拉的,Wi-Fi 信号被货架挡得七零八落。播放器的重连策略是固定 2 秒一次,无限重试。结果一批断网的手机同时进入重连循环,每次重连都重新请求首片,每次都回源。那半小时的回源曲线像一排锯齿,我当时脸都绿了。

改成指数退避之后(2 秒、4 秒、8 秒,最长 30 秒封顶),同样的网络条件下回源量降了 11.4%。副作用是弱网用户恢复播放要多等 0.8 到 1.6 秒。这个代价我觉得值。

还有一类更隐蔽:多平台分发时,每个平台的转推通道都各自回源一次。同一场内容推到四个平台,就是四份回源。把它改成一次回源、本地分发再转推,这一项又省了 8% 左右。理解这类协议层行为,中国通信标准化协会公开的相关标准文本值得翻一翻。

录制回源和观看回源混着算,这笔糊涂账最坑

很多团队的录制是走公网从源站拉的,和观众用的是同一条计费通道。账单上只有一个数字,你根本分不清哪部分是人在看,哪部分是机器在存。

我的做法是给录制单独开一条内网或专线通道,账单上就成了两笔。分开之后我才发现,那个月录制回传占了回源总量的 9.3%,而且全部集中在直播结束后的 40 分钟内——那正好是九五采样最不该被打扰的时段,因为主会场的高峰已经过去,曲线本来该降下来了。

这里也顺手说一下并发统计的口径问题,很多超支争议其实起于双方对"人数"的定义不一致,这块可以看直播房间的并发人数是怎么统计出来的。节点选择带来的延迟和回源连锁反应,在直播CDN节点选错会让延迟凭空多两秒里也讲过。

六条压降动作,各自省多少、各自坏在哪

把那一个月的对账做完,我们落地了六条动作,目标只有一个:把直播回源带宽的九五值压下来。下面这张表是三个月后复盘时填的实测值,不是估算值。

压降动作 回源九五值降幅 副作用
清晰度从 5 档砍到 3 档 31.4% 极少数用户看不到原画档
片头与首屏 PPT 提前预热到边缘 8.6% 需提前 40 分钟拿到成片素材
重连从固定 2 秒改指数退避 11.4% 弱网恢复慢 0.8-1.6 秒
录制回传改内网通道与观看分离 9.3% 每月多一条专线固定成本
补两个区域边缘节点 6.8% 月固定支出增加 0.42 万
关掉巡检脚本的全码率探活 4.1% 故障发现延后约 4 分钟

这六项不能简单相加,因为它们互相有重叠。实际叠加后,回源九五值从 0.86 Gbps 降到 0.41 Gbps,账单从 8.74 万降到 5.36 万,比原预算还低了六千多。转码侧的成本结构和这块是联动的,摄行科技在直播转码集群的成本是怎么被算力吃掉的里拆得更细。

想给自己的直播回源带宽做一次体检

我越来越确信一句话:直播回源带宽超支,八成不是人多,是回源没收敛。人多是好事,是业务在涨;回源没收敛是技术债,是你在替缓存的失效买单。这两者混在一张账单上,就变成了"直播太贵"这种粗暴结论,然后预算被一刀砍下来。真被砍了怎么办,我们在直播预算被砍三成还能保住什么里给过一套取舍顺序。

如果你手上正好有一张看不懂的 CDN 账单,或者下个季度要报一份带宽预算又心里没底,把最近三个月的采样数据和码率配置发过来,摄行科技可以按上面这套抄表法帮你做一次免费的口径核对,出一份"哪几格把钱顶上去了"的对照清单。需要现场勘场、私有化部署评估或者整体方案报价,也可以直接联系摄行科技的工程团队,我们习惯先看数据再报价。

#摄行科技

📌 看完案例,需要专业活动影像团队帮你执行?

摄行科技 2018 年成立 · 8 年品牌资质 · 服务 3000+ 场企业活动

会议直播 · 照片直播 · 多机位拍摄 · 活动企业影像 · 覆盖全国 300+ 城市