Multicore scaling

104 views
Skip to first unread message

Faisal Rahman

unread,
Mar 14, 2022, 12:22:10 PM3/14/22
to BigBlueButton-dev
Hi Guys,

I've wondering about this for a while. With the version 2.4 in play, is the clock speed of the processor still the limiting factor for number of concurrent users or it's going to scale up with the number of cores?

For example, on versions 2.3 and 2.2, I was able to push up to 160 concurrent users and 50+ videos (pagination enabled) across 4-5 rooms on a 4c/8t bare metal 3.5Ghz. With the upgrade to version 2.4, I'm seeing lower CPU usage with mediasoup enabled on the same machine. This reduction in CPU is stable. My best wishes for the contributors - splendid work! 

So, my question is if I deploy a 16c/32c running at 2.6Ghz on version 2.4 with mediasoup (keeping bbb config same) do you think the number of concurrent users will scale up and if so, approximately how much?

I would appreciate all the opinions and thoughts in this matter.

Cheers!
Faisal


Paulo Lanzarin

unread,
Mar 15, 2022, 8:54:50 AM3/15/22
to bigblueb...@googlegroups.com
For example, on versions 2.3 and 2.2, I was able to push up to 160 concurrent users and 50+ videos (pagination enabled) across 4-5 rooms on a 4c/8t bare metal 3.5Ghz. With the upgrade to version 2.4, I'm seeing lower CPU usage with mediasoup enabled on the same machine. This reduction in CPU is stable. My best wishes for the contributors - splendid work! 

So, my question is if I deploy a 16c/32c running at 2.6Ghz on version 2.4 with mediasoup (keeping bbb config same) do you think the number of concurrent users will scale up and if so, approximately how much?

I would appreciate all the opinions and thoughts in this matter.

Since you're focusing on the mediasoup spectrum of things I'll constrain my answer to that domain.

It still won't indefinitely scale up due to other issues - mediasoup is just part of the machinery.
You'll eventually hit a signaling bottleneck (bbb-webrtc-sfu) which doesn't quite scale vertically
right now. We're working on that.

Can't give you a safe number since that depends on a few things, but I've seen load tests where it
could hold 8000 streams if the VM has sufficiently good single-core performance and room to spare.

But the tl;dr is that single-core performance is still important.

Walter Tak

unread,
Mar 15, 2022, 3:18:59 PM3/15/22
to bigblueb...@googlegroups.com
Have you considered splitting up your dedicated machine with a hypervisor (e.g. Xen) into a bunch of smaller VMs ? 

The minimum would be 2 CPUs for each BBB process so the main process has 1 CPU and there is another one for converting things etc

The Hypervisor itself needs a CPU.

So on a 16 core system you could run 7 BBB instances x 2 CPUs = 14 CPUs and then 1 more for the Hypervisor and 1 free for a VM to play with.

If you app allows horizontal scaling then you can spread those rooms over the 7 servers.

Once you want more you can then either add another dedicated server, set up the same Xen hypervisor on it, and keep adding small VMs that each hold not that many rooms and users, but they aren't influenced by 'too many users' that could lead to higher latency etc.

My 2 cents.

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/bigbluebutton-dev/19095827-a843-4e86-a438-ad8e0dcd3d0fn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages