How to use load balancer on BBB server

3,205 views
Skip to first unread message

sourabh

unread,
Jan 24, 2013, 6:47:25 AM1/24/13
to bigblueb...@googlegroups.com
Hi All,

I have installed BBB on one of my EC2 instance. Now, I want to scale up my instances at runtime because BBB  performance is degrading severely when more users joins the session.So I have to use loadbalancer on BBB server but I am not getting the way how to use it.
I do not know if it is possible to achieve this. Has anyone done this before? Or any ideas?
Please help me.
Thanks in advance

Sourabh P

Fred Dixon

unread,
Jan 24, 2013, 7:13:49 AM1/24/13
to BigBlueButton-dev
Hi Sourabh,

It is possible to load balance sessions on multiple BigBlueButton servers.  We (the core developers) focus our efforts on making the single BigBlueButton server as solid, usable, and scalable as possible.  For us, this effort yields the greatest benefit as each improvement we make to BigBlueButton benefits all the community.

If your requirements exceed the capacity of a single BigBlueButton server, there are a number of options

1.  Use a larger EC2 instance

Try using a c1.xlarge.  It has 20 EC2 compute units and can hold many more users than a c1.medium or a m1.small.  See



2.  Extend your API calls to become aware of multiple servers

You can develop a rudimentary load balancing in your front-end application.  Let's say you have three BigBlueButton servers, then in your front-end application, when creating a meeting, use a round-robin or leaset loaded (find the server with the fewest number of users) logic for choosing the server on which to launch the meeting.  You don't need much sophistication to get a load balancing that, for most cases, will be very serviceable   


3.  Check out the MConf project

They are developing a load balancer for BigBlueButton as part of their deployment of MConf Live, which is built using BigBlueButton.



4.  Contact the companies that provide commercial support

Some of the companies can also offer you a commercially supported load balancer solution for your BigBlueButton servers.  See




Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton



--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
Visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 




HostBBB.com

unread,
Jan 24, 2013, 11:19:10 AM1/24/13
to BigBlueButton-dev
Sourabh, you can disribute BBB session across multiple ec2 instances,
with Audio, DeskShare, Video, and Archiving/Playback all being served
from different servers for a single meeting.

Also, there are some stress test tools from bigbluebutton labs and
mconf to generate test calls to really analyse CPU/Bandwidth under
load. We setup Ubuntu Deskstop instances in same zone as BBB server
and can simulate large meetings easily.

We have had success utilizing an optimized bbb image with c1.xlarge to
get some pretty large conferences into production. We dont publish
the numbers as to mis represent the project, but there are no soft
limits in code.

As for designing your scaling solution. If you know the "peak"
need, just place some logic in business app to spread meetings across
3 or 4 servers,

If you need on demand scalibilty to unkown large number of meetings,
and dont want to pay for servers off hours ec2 is perfect for this
with some basic automation. In this case a H/A cluster controller
that accepts api calls, and starts/stops ec instances as needed is the
best fit.

The question is always the business case around deployment, technology
is never the issue.

regards,
Stephen
hostbbb.com

Binoj D

unread,
Jan 24, 2013, 11:56:11 AM1/24/13
to bigblueb...@googlegroups.com
If I have two BBB servers, how can I make 10 users join ServerA and another 10 join ServerB while all 20 attend the same meeting?

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigbluebutton-...@googlegroups.com.
Visit this group at http://groups.google.com/group/bigbluebutton-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.





--
Regards,
Binoj D
http://www.dbinoj.com

HostBBB.com

unread,
Jan 24, 2013, 12:44:27 PM1/24/13
to BigBlueButton-dev
If you distribute a single meeting across servers, all audio runs on
one, the video on another, the deskshare on another, the different
RTMP streams are served via muliple red5 instances. The config file
of client does the mapping dynamically.

There is not alot of coding to do this, just server configuration and
optimization of stock BBB. If you need lots of small meetings,
this scales well, or if you need lots of deskshare capability.

But audio mixing in freeswtich is the biggest issue to scaling large
conferences > 25 since most of the CPU is used on standard servers,
In this case a very large instance running freeswitch, with high
performance I/0 network connection allows for much larger conference
sizes that exceed 100 users.

regards,
Stephen

Binoj D

unread,
Jan 24, 2013, 9:51:58 PM1/24/13
to bigblueb...@googlegroups.com
Thanks for clearing it out Sephen! So what if in my meeting only the presenter is allowed to speak?
Will Freeswitch still take much CPU?

For more options, visit https://groups.google.com/groups/opt_out.


Fred Dixon

unread,
Jan 24, 2013, 10:35:36 PM1/24/13
to BigBlueButton-dev
Hi Binoj,

In the current architecture of BigBlueButton, when a user joins the audio bridge, they always have the ability to speak -- though they mute themselves or are muted by a moderator.  This means whether the user is muted or not, they incur the same CPU load on FreeSWITCH.

We designed BigBlueButton for small to medium-sized classes in which each student can participate.  It's possible to extending BigBlueButton's architecture to support a 'webinar' type presentation in which a user only receives an audio or video stream is possible -- we're working on this now as part of supporting an HTML5 client.  

What's more, in the recent release of MConf Live, a web conference system powered by BigBlueButton, the MConf team recently implemented a 'guest' mode in which a user only receives audio and video.  See


The MConf team has made many excellent contributions to BigBlueButton, such as the video dock (0.80) and layout manager (0.81).  To calibrate expectations, we're focused on finishing development of BigBlueButton 0.81 and reaching beta with the features already planned, see



Regards,... Fred
-- 
BigBlueButton Developer
BigBlueButton on twitter: @bigbluebutton
   


To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-...@googlegroups.com.

To post to this group, send email to bigblueb...@googlegroups.com.

Geoff Nordli

unread,
Jan 25, 2013, 2:15:35 PM1/25/13
to bigblueb...@googlegroups.com
On 13-01-24 09:44 AM, HostBBB.com wrote:
> If you distribute a single meeting across servers, all audio runs on
> one, the video on another, the deskshare on another, the different
> RTMP streams are served via muliple red5 instances. The config file
> of client does the mapping dynamically.
>
> There is not alot of coding to do this, just server configuration and
> optimization of stock BBB. If you need lots of small meetings,
> this scales well, or if you need lots of deskshare capability.
>
> But audio mixing in freeswtich is the biggest issue to scaling large
> conferences > 25 since most of the CPU is used on standard servers,
> In this case a very large instance running freeswitch, with high
> performance I/0 network connection allows for much larger conference
> sizes that exceed 100 users.
>
> regards,
> Stephen

Hi Stephen.

This is interesting, is there some documentation on how to configure
this on the server side?

thanks,

Geoff

HostBBB.com

unread,
Jan 25, 2013, 9:40:37 PM1/25/13
to BigBlueButton-dev
Geoff,

for audio,
1) setup a seperate freeswitch server
2) you need to enable ESL on this to listen on external interface, and
make sure port is open and password set to something other than
Cluecon so your not hacked.
3) Next go to BBB server and edit the sip host files to point to this
server instead of 127.0.0.1 and add matching password and edl port.
4) reboot

If you put in same datacenter, the traffic stays on LAN.

for rtmp
You need to experiment, some modules have dependencies on others and
need to run on same red5 instance.
From testing i have been able to isolate. Video, Deskshare,
Whiteboard all on different rtmp streams than the main bbb server..
The viewer, presentation, and chat seem to be closely linked and stay
on one.

Configure a few more servers with and red5.bbb java apps, and then
edit a config.xml file to point to different RTMP paths for video,
deskshare, whiteboard etc...

Start up a meeting and be amazed... really cant tell each module is
running on its own server.

So if you have a very large (8 core) instance running freeswitch (25
users/per intel core) so 200 in audio conference, and then have
seperate server handing video, and one for deskshare, you are able to
handle some pretty big conferences.

DISCLAIMER < this requires 4-5 high powered servers, and high
performance network connections with bandwidth, and record and
archive modifications to work to collect meeting files.
Also as Fred likes to say, this isn't the install in 30 minutes or
your money back, but it works and has had some stress testing done
for larger implementations.
It also will cost a pretty penny to operate day to day

There are plenty of other posts to set expectations on what a single
normal sized .80 server supports, please refer to them.

The mconf global stream broadcast is really promising, and should
enable much higher audio numbers.

regards,
Stephen
hostbbb.com

Geoff Nordli

unread,
Jan 26, 2013, 12:19:03 AM1/26/13
to bigblueb...@googlegroups.com

Yes, this is great.

Just thinking here it would probably make sense to have some sort of
linux HA ip address take over if you need to manually edit the
configuration files.

I have a few dual proc athlon 250 servers, which probably don't have the
horses to do intense cpu work, but they are good at moving data around.

Have a great weekend!

Geoff

Mahdi Hashemi

unread,
Jul 24, 2020, 5:11:32 PM7/24/20
to BigBlueButton-dev
Hi Fred,
are you reaching webinar ability on BBB?
Or,  a solution for that?

> > Visit this group athttp://groups.google.com/group/bigbluebutton-dev?hl=en
> > .
> > For more options, visithttps://groups.google.com/groups/opt_out.
>
> --
> Regards,
> Binoj Dhttp://www.dbinoj.com

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To post to this group, send email to bigblueb...@googlegroups.com.
To unsubscribe from this group, send email to bigblueb...@googlegroups.com.
--
Regards,
Binoj D
http://www.dbinoj.com

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigblueb...@googlegroups.com.

Fred Dixon

unread,
Jul 24, 2020, 5:56:45 PM7/24/20
to BigBlueButton-dev
HI Mahdi,

We don't have any plans for implementing webinar ability on BigBlueButton 2.3 (currently under development for release this fall).



Regards,.. Fred

To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/bigbluebutton-dev/dd7bfac2-7697-44de-99c3-0e2e2287066do%40googlegroups.com.


--
BigBlueButton Developer

Like BigBlueButton?  Tweet us at @bigbluebutton

Syed Osama Abbas

unread,
Jul 25, 2020, 2:37:43 AM7/25/20
to bigblueb...@googlegroups.com
Dear Sir 
Can we allow teachers to control who speaks in class? that is only teacher can control who can speak and who cant by the teacher controlling the speakers? If yes please explain as we are experiencing havoc in class. So we want to mute all students and only allow teachers to control the access to who is allowed to speak.

manish katyan

unread,
Jul 25, 2020, 8:03:20 AM7/25/20
to bigblueb...@googlegroups.com
Hi Syed,

Your teachers can use Lock Viewers to control who can speak, chat or share videos. Check it out here - https://support.blindsidenetworks.com/hc/en-us/articles/360024409172-Lock-viewer-s-ability-to-use-their-mic-webcam-chat-shared-notes

Will that help you manage your classes better?

- Manish



Martin Thomas Schrott

unread,
Jul 25, 2020, 1:56:00 PM7/25/20
to bigblueb...@googlegroups.com, manish katyan

Am 25.07.2020 um 14:03 schrieb manish katyan:
> Hi Syed,
>
> Your teachers can use Lock Viewers to control who can speak, chat or
> share videos. Check it out here -
> https://support.blindsidenetworks.com/hc/en-us/articles/360024409172-Lock-viewer-s-ability-to-use-their-mic-webcam-chat-shared-notes
>

I guess the question was, if the moderators can mute and unmute the
users and unmuting by the users themself can be disallowed.

cheers

Martin


Fred Dixon

unread,
Jul 27, 2020, 9:20:38 PM7/27/20
to BigBlueButton-dev
Hi Martin,

You can come close, but not exactly as you may want.

If you lock all users microphones, they will join Listen Only (no microphone).  You can individually unlock a user, which means they can rejoin audio (they need to leave audio and rejoin by choosing the microphone) and use their microphone.

Alternatively, you can have everyone join first with microphone and then lock them -- they will still be joined with microphone, but can not unmute themselves.  New users that join will come in Listen Only.


Regards,... fred

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages