Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
imndx committed Oct 20, 2024
1 parent f9541a3 commit 2a6ab26
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions md/server/hardware_requirement.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
IM服务、音视频服务、对象存储服务需要流量带宽

#### IM服务
在线用户心跳是3分钟至4.5分钟一次,每次心跳来回4个字节,因此即使很大数量的用户在线,心跳的流量也是可以忽略不计的。流量主要消耗在发送消息,用户信息同步等功能上。需要预估峰值发送消息数,平均每条消息的大小,接受的次数。假如有10W高活跃用户(比如企业办公,上班时间都在线),最高考虑到有100人同时发送消息,消息平均发送到50人的群中,消息的大小平均是0.5K,那么峰值带宽就是0.5K * 100 * (1 + 49) = 2.5MB/S = 20mbps。
在线用户心跳是3分钟至4.5分钟一次,每次心跳来回4个字节,因此即使很大数量的用户在线,心跳的流量也是可以忽略不计的。流量主要消耗在发送消息,用户信息同步等功能上。需要预估峰值发送消息数,平均每条消息的大小,接受的次数。假如有10W高活跃用户(比如企业办公,上班时间都在线),最高考虑到有100人同时发送消息,消息平均发送到50人的群中,消息的大小平均是0.5K,那么峰值带宽就是0.5K x 100 x (1 + 49) = 2.5MB/S = 20mbps。
> 这个例子是个很极端的情况,上下行消息吞吐量达到了5000条/s,实际在非办公场景下,在线用户与总用户比重非常低,消息吞吐量会低非常多。
> 实际运行中可以根据流量的情况动态调节服务带宽
#### 音视频服务
多人音视频通话是采用p2p的,只有打洞失败时才会走中转消耗流量,实际大概有50%的情况是打洞失败需要走中转的,中转时视频每路带宽消耗140KBps,音频大概是20KBps。如果指标是同时支持100路视频通话,那么流量就是100*0.5*140 = 7000KBps = 56Mbps。
多人音视频通话是采用p2p的,只有打洞失败时才会走中转消耗流量,实际大概有50%的情况是打洞失败需要走中转的,中转时视频每路带宽消耗140KBps,音频大概是20KBps。如果指标是同时支持100路视频通话,那么流量就是100 x 0.5 x 140 = 7000KBps = 56Mbps。

高级音视频是SFU模式,可以查看对应项目[说明文档](https://github.com/wildfirechat/wf-janus)

Expand Down

0 comments on commit 2a6ab26

Please sign in to comment.