商业版多出来的不是协议,而是运维能力:集群、录像、后台。 扩容的第一道坎永远是带宽,不是 CPU。
7.4.1 讲开源版,这一节讲商业版补了什么。 7.4.3 再往外一层,看云平台怎么算成本。
一、商业版补了五件事
① 协议更全:开源版 RTSP 为主,商业版加了 RTMP 与 GB28181。 ② 管理后台:从「简单网页」变成「完整后台」。 ③ 集群级联:开源版单机,商业版支持多级级联。 ④ 录像回放:开源版没有,商业版有。 ⑤ 技术支持:从社区变成厂商。
这五件事有一个共同点:全都不是「协议」问题,而是「运维」问题。 协议开源版就够了,难的是把它稳定地跑在一千路规模上。
所以买商业版,买的其实是「出事有人管」。 这在安防这类「不能停」的场景里是很实在的价值。
二、算一算容量,看差在哪
按每路 2048 kbps 算: 50 路 100 Mbps、200 路 400 Mbps、500 路 1000 Mbps、1000 路 2000 Mbps。
千兆网实际可用约 800 Mbps:200 路还有余量,500 路就压满了。 所以一台千兆机器的实际上限在三四百路左右(要留余量)。
这解释了商业版为什么强调集群: 不是单机跑不动协议,而是网卡先满。 所以扩容的第一道坎永远是带宽,不是 CPU。
三、扩容该按什么顺序做
① 先加网卡/换万兆——最直接,成本最低。 ② 再上集群——把路数分到多台机器上。 ③ 最后才考虑优化代码——收益最小,风险最大。
这个顺序与直觉相反: 很多人第一反应是「优化代码提升单机性能」, 但媒体服务的瓶颈根本不在代码上。 改一个月代码,可能还不如换一张万兆网卡。
判断瓶颈在哪只要一条命令:
看 sar -n DEV 1 或任务管理器的网络占用。
网卡跑满就是带宽瓶颈,网卡闲着而 CPU 满才是代码瓶颈。
四、动手 Demo:商业版——多出来的是运维,不是协议
先把开源版与商业版的差别列成表,再按每路 2 Mbps 算容量。 算完就知道「为什么要集群」。
print("路数 出口 Mbps 千兆(800M)够吗")
for n in (50, 200, 500, 1000):
mbps = n * 2048 / 1024.0
print("%4d %9.0f %s" % (n, mbps, "够" if mbps < 800 else "不够"))
print()
cap = 800
per = 2048 / 1024.0
print("千兆上限约 %d 路,留三成余量后约 %d 路"
% (int(cap / per), int(cap * 0.7 / per)))
实跑输出:
--------------------------------------------------------------------
商业版——多出来的是运维,不是协议
--------------------------------------------------------------------
**① 开源版与商业版的差别**
项 开源版 商业版
--------------------------------------------------
协议支持 RTSP 为主 RTSP/RTMP/GB28181
管理界面 简单网页 完整后台
集群 不支持 支持级联
录像 无 有,可回放
技术支持 社区 厂商
**② 算一算容量,看差在哪**
路数 每路 kbps 出口 Mbps 千兆网能用吗
-----------------------------------------------------
50 2048 100 能
200 2048 400 能
500 2048 1000 不能
1000 2048 2000 不能
**千兆网实际可用约 800 Mbps:200 路还有余量,500 路就压满了。**
**这解释了商业版为什么强调集群:**
**不是单机跑不动协议,而是网卡先满。**
**所以扩容的第一道坎永远是带宽,不是 CPU。**
500 路就已经 1000 Mbps,千兆网压不住。 留三成余量是行业习惯,因为带宽跑满时丢包会明显上升。 所以「千兆能带 400 路」这种说法是理论值,实际报 280 路更稳。
30 秒实验
- 把每路码率从 2048 改成 1024,看上限翻几倍——正好翻倍,说明路数与码率是纯线性关系。
- 把千兆改成万兆(8000 Mbps),看上限——4000 路,这就是换网卡比优化代码划算的原因。
- 把余量从三成改成五成,看实际路数——更保守,但夜里高峰不会抖。
常见误区
- 「商业版协议更强」——协议差别不大,强的是运维。
- 「扩容先优化代码」——先看网卡,通常瓶颈在带宽。
- 「千兆能带 800 路」——按 2 Mbps 算只有 400 路理论值。
自测三问(点开对答案)
1. 商业版比开源版多哪五件事? —— **协议更全、管理后台、集群级联、录像回放、厂商支持。** 2. 为什么说扩容的第一道坎是带宽? —— **媒体服务 CPU 通常闲得很,网卡先跑满。** 3. 怎么快速判断瓶颈在哪? —— **看网卡占用**:满了是带宽瓶颈,闲着而 CPU 满才是代码问题。- ☐ (本节完,下一节 7.4.3 EasyDarwin 云平台)