BBB Bandwidth

From Online Meeting Coop Wiki
Jump to navigation Jump to search

Bandwidth consumption is, apart from server computing power, one of the key aspects for performance. In this page we go through some calculations based on experiences from the authors and other heavy users to get a feel for what impact different types of usage may have on our servers. The BBB official documentation: When sharing a webcam as a moderator, BigBlueButton lets you select the resolution, which corresponds (roughly) to the following video stream:

  • 320x240px - 0,25 Mbits/sec
  • 640x480px - 0,40 Mbits/sec (default)
  • 1280x720px - 0,60 Mbits/sec

For example, for the case of a small group meeting, if you have a room with 5 users, each sharing their webcam at 640x480, then you can calculate the bandwidth usage as follows:

  • Y = 0,40 Mbits/sec
  • W = amount of webcams that are streaming
  • U = amount of users that are watching

For calculations:

  • server incoming bandwidth: W*Y
  • server outgoing bandwidth: W*(U-1)*Y (minus one since a broadcaster does not have to subscribe to his own stream)

For example, with 5 users in a room with 5 webcams streaming, the bandwidth calculation is as follows:

  • in: 5*0,40 = 2 Mbits/sec incoming bandwidth needed to the server, or 3600*2 = 7,2 GBits/hr
  • out: 5*(5-1)*0,40 = 8 Mbits/sec outgoing bandwidth needed from the server, or 3600*8 = 29 Gbits/hr
Bandwidth calculations
Usecase # cams on # people watching Resolution Bandwidth in Bandwidth out Traffic
Small group meet 5 5 default 320x240 2 Mbit/s 8 Mbit/s 36 GBits/hr
Classroom / workshop 1 30 default 0,40 MBit/s 12 MBit/s 45 GBits/hr
Large “cafe-style chatroom” 8 8+20 default 3,2 MBit/s 86 MBit/s 322 GBits/hr
Conference 1 100 default 0,4 MBit/s 40 MBit/s 144 GBits/hr
Round table conference 8 100 default 3,2 MBit/s 317 MBit/s 1152 GBits/hr

Notes:

  • These are simplified calculations and may leave out things like audio, uploading of slides (hardly any impact) and screensharing (another videostream to be counted). They are meant to get a feel for the possible impact on our servers and we will be adding more experience into this when we advance.
  • Sharing slides takes almost no bandwidth beyond the initial uploading/downloading of slides. When the presenter clicks to show the next slide, the viewers receive a “move next slide” command in their BigBlueButton client, and they load the next slide from the local cache. Chat also takes almost no bandwidth.
  • Screen sharing sharing takes the most bandwidth. The actual bandwidth for desktop sharing depends on the size of the area chosen by the presenter (full screen and region) and how often their screen updates. At the low end, if the presenter’s screen is largely idle, the screen sharing application will transmit about 0.2 Mbits/sec; at the high end, if the presenter’s screen is updating frequently, the BigBlueButton server could transmit 1.0 Mbits/sec. For a session with N users, BigBlueButton server would also transmit N desktop sharing streams (the presenter gets a stream as well for their Screen Sharing Preview window).

Other references:

  • Hostsharing coop has a post in German about their performance calculations.
  • Hypha.coop reports they measured 30% consumption of 100 MBit B/W with 13 participants of which 6 with video on.