Error message “bigbluebuttonbn / clientCapacityLimitCross: Total limit of user exceeded”
When you see this error message or similar message for user limits warning. It means your capacity of the concurrent user was all taken or not enough to create a new session.
You may be questioning that I have 50 concurrent users capacity and I am sure that I don’t have 50 users joined. Why did I cross the 50 limits?
Let’s Check MynaParrot BigBlueButton Usage Report
When this happens, let’s go to your user panel and take a look at the Realtime logs first. When you log in to the website and come to the user panel and if there is at least one running meeting, you will see this Current Info
This is a Current status of your account with 4 columns info.
- Running Meeting(s): Shown how many meetings are running at the moment.
- Server Block Slot: Shown how many server slots/seats you reserved
- Join: Shown how many users joined
- Remain Capacity: Shown how many free seats remain.
With that information, you can understand your current account usage situation.
For the screenshot, it means you have 1 running meeting with a maximum of 30 users capacity and 1 user joined at the moment. You have 20 free seats for users remaining for your next meeting.
- I didn’t configure this number but why is shown 30?
If you don’t configure the user limits when you create a session then the MynaParrot system will use 30 as a default User limits number.
- How to configure these user limits?
For how to configure user limits in Moodle, please read another blog How to use MynaParrot BigBlueButton Service in your Moodle
The number of user limits will be shown on the Server Block slot. It means how many server slots/seats you reserved. MynaParrot System will use this user limits number to count your usage of your concurrent user.
For example, you have 50 concurrent users capacity and have 1 meeting running and configured 30 as user limits for this meeting room but only joined 1 user. MynaParrot will take 30 as your usage, not 1. The system knows you only have 1 user online only at the moment but he doesn’t know if the rest of the 29 will come or not? Therefore, the system has to reserve the seats for this no show 29 users.
Unless you tell the system by changing the user limits for this meeting. And keep in mind that you have to end the meeting and join again to apply this change to the system.
Why do we do this?
There is a limitation for BigBlueButton that you can't host too many users in one single server and if users in 2 servers then they can not join to the same meeting room.
For BigBlueButton, if you want to have a cluster with a good load balancing system, then to declare a capacity of each meeting room is a mandatory
That is why the system needs to know how many users will join for this meeting and decide to send this meeting to which server is the best.
For example, if there is a meeting room with 50 users who will join, then the system will not send this session to the server that already has a lot of users.
Will send this new meeting room to a free server or the server with fewer users.
If the system doesn't know how many will join in this meeting room, then he can't make the decision and send the meeting to the right server.
For example, if we don’t have this logic and the system sends this meeting room to a server with 180 users already. Then what happened this meeting got another 100 users joined? then the server will be crashed and every user at this server got a very bad performance in the classroom.
- Question: Can you design the load balancing based on the real joined users?
No, because the system can know the real users in one server but when the system detects there is one server almost overloaded but still has a user coming. How can we stop it?
If we send this user to another server then the user can not be in the same meeting room.
If we send this user to this almost overloaded server then this server is at a high risk to go down then all users in the server will suffer.
The only solution is if we can know how many users will join in this meeting and we reserve a seat in the server then we can ensure this server will not be overloaded.
Overall, if you want to ensure the quality of the BigBlueButton classroom, you have to do user limitation for each server, if we have user limits on each server then we need you to configure user limits for each meeting.
We have no problem letting you fully use the capacity but you need to tell the system how many users will join first. We do this because of quality control based on BigBlueButton server requirements.
MynaParrot Load Balancing System
Here are 3 flowcharts will briefly show you how the MynaParrot load balancing system worked
1. Initial meetings requests and load balancing to different servers.
For all of MynaParrot BigBlueButton servers, we will configure a maximum allowed concurrent users. The load balancing system will check the server situation and calculate the total numbers and make decisions to send meetings to the best server.
2.MynaParrot load balancing system will make decisions based on the capacity of the requested meeting to assign servers.
3 .When there is a new meeting with 30 capacity users requested to start. Based on the current server situation. Then the system will need to calculate like this way
Server 1: Total of 170 users
Server 2: Total of 140 users
Server 3: Total of 120 users
Decision: The system will send this meeting to server 3.
This is how our load balancing system works and also we hope you can understand why we need you to configure the user limits for each meeting room. You may lose some freedom by configuring user limits but this is very important for us to maintain the quality of the BigBlueButton Classroom Meeting. I am sure this is also the main reason why you choose our service.
Thanks for your support and understanding. If you still need help, please don't hesitate to just contact us via the support Channel.