scalelite load calculation

478 views
Skip to first unread message

Martin Thomas Schrott

unread,
Oct 14, 2020, 6:44:36 AM10/14/20
to BigBlueButton-dev
Hi


we observe, that scalelite is filling up servers with high load all the
time.

As it seems, scalelite is mainly calculating its load based on the count
of meetings on a server.


It would be a lot better to use the count of users and active videos
rather than the meetings.


e.g. a server with 1 meeting and 150 users / 10 videos would get a new
meeting assigned where as a server with 2 meetings and 4 users / 0
videos would not.

This does not make sense and creates problems on servers with a lot of
videos even if we have enough capacity on other servers.


Would it be possible to change this behaviour in an upcoming update of
scalelite? Really would make sense and improve the balancing.


cheers

Martin


sd...@distancelearning.cloud

unread,
Oct 14, 2020, 10:10:46 AM10/14/20
to bigblueb...@googlegroups.com
Couple of ways to do this... need some code modifications.

If you pass the maxParticipants into your LB on every create (you know attendance), send meetings to different pools of servers that are geared of certain type of meetings by this parameter. To maximise the efficiency of server without overloading.

Or like we do in our implementation, pass a meta_preferred_pool on the create call, to target a 1on1 meeting, or LiveStreaming webinar session to CDN. Based on this data.

This way you can run 75 1on1 meetings on one server, and send the normal 25-40 user meeting to a standard server configured to run 5 or 6 meetings.

Just need to extend the ruby function in scale light to be able to select the correct server pool. They have some weighting already implemented.

Regards,
Stephen
--
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/eb14cc80-6b1f-9516-33a6-35bb422ec534%40mtsonline.at.

Martin Thomas Schrott

unread,
Oct 14, 2020, 10:15:15 AM10/14/20
to bigblueb...@googlegroups.com, sd...@distancelearning.cloud
Hi,


we cannot pass meta information


on one side, because we have greenlight and moodle as source

and on the other hand, we do not know about the size / users count the
meetings will have / the kind of meeting it will be.

so the waigthing has to be done within the loadbalancer on its own.

As far as we can see the scalelite balancing does not take anything into
account other than the meetings.


cheers

Martin

Cumali Yaşar

unread,
Oct 19, 2020, 1:34:03 PM10/19/20
to bigblueb...@googlegroups.com, sd...@distancelearning.cloud
SCALELITE MANAGER

Scalelite Manager is a Cloud-Based software developed to administrate BigBlueButton(BBB) servers. It is made of 3 main components. Connections between Services are linked by the API.

BBBLoadBalancer:

BBBLoadBalancer distributes incoming meeting requests between BigBlueButton(BBB) servers while keeping and servicing recordings of meetings held.
https://panel.panopticon.web.tr/
User:admin
Pass: admin123654


Cumali YAŞAR
Çanakkale Onsekiz Mart Üniversitesi
Eğitim Fakültesi Bilgisayar ve Öğretim Teknolojileri Eğitimi
Enformatik Bölümü
THDSoft Yazılım
Profesyonel Akademik ve Kurumsal Yazılım Çözümleri
RATING ACADEMY Ar-Ge Yazılım Yayıncılık Eğitim Danışmanlık ve Organizasyon Ltd. Şti.

Tel:905052423644


Martin Thomas Schrott <li...@mtsonline.at>, 14 Eki 2020 Çar, 17:15 tarihinde şunu yazdı:
--
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.

bayden10

unread,
Oct 19, 2020, 4:29:24 PM10/19/20
to BigBlueButton-dev
where is the opensource Repository?

~b10

Martin Thomas Schrott

unread,
Oct 20, 2020, 1:11:15 AM10/20/20
to BigBlueButton-dev
Yeah I understand this problem - but this is another one I guess.

As we watch the balancer creating meetings on servers that already have
a big load (cpu) because it only looks on the meeting count.

so this is not specific to universities - the balancing at all is not
very useful as the meetings do not matter at all. You could have 50
meetings on a server and will not have a problem if only 2 users are in
every meeting.

scalelite would not allow that ... meetings can be used but should not
be the first source for the balancer.

the first should be video as this is the one that mostly would crash if
there are to many on one server. second should be users and third the
meetings.


of course the balancer would not know how many may join in the next
minutes and would create to many meetings on this server if other
servers also are used already, but if the balancer uses some simple
rules it could be improved a lot:


1. use empty servers first.

2. use servers with less users and less video.

3. use servers with less video


this would prevent such cases.


aditionally the server / balancer should ignore breakout rooms. right
now a server with one meeting and 5 users e.g. would not be used anymore
if they open 4 breakout rooms as the server thinks there are 5 meetings
on it.


Hope this can be evaluated and be changed in an upcoming update - as it
really is simple to change and would help many people out there.


of course the calculation could be made more efficient and intelligent,
but just taking users and video into account before having a look at the
count of meetings would already improve it.


cheers

Martin


Am 14.10.2020 um 16:36 schrieb sd...@distancelearning.cloud:
> Yes, that’s the problem... in real world scaling for universities you
> get a surge of meeting starts 10-15minutes before the hour when
> teachers are getting ready for next class.... the classes for the
> previous hour are all still mostly running at 45past so you have this
> period where meetings from both hours need to be running.
>
> So if you have needs for 100 concurrent classes, you really need to
> provision 125-150 slots for meetings. Since the overlap oversubscribes
> your hardware, and create some bad experiences.
>
> In a telco application, where meetings are started anytime of day,
> vary in length and size, and at any interval the load is spread more
> evenly, but you need to plan for the peak in case everyone wants a 9am
> Monday morning.. so autoscaling a must.
>
> So its hard to efficiently balance without these extra inputs.. number
> meetings works bests, but requires a lot more heavy metal.

Devrim Seral

unread,
Nov 2, 2020, 9:11:05 AM11/2/20
to BigBlueButton-dev
Hello Martin,
Actually we have same problem with scalelite.  As Stephen advise to send number of users little difficult because we don't know how many users will participate. So please somebody may instruct to me to change this behaviour?
As i found this file seem responsible for it..

And following line

# Find the server with the lowest load (for creating a new meeting)
def self.find_available

with_connection do |redis|

id, load, hash = 5.times do

ids_loads = redis.zrange('server_load', 0, 0, with_scores: true)

raise RecordNotFound.new("Couldn't find available Server", name, nil) if ids_loads.blank?


id, load = ids_loads.first

hash = redis.hgetall(key(id))

break id, load, hash if hash.present?

end

raise RecordNotFound.new("Couldn't find available Server", name, id) if hash.blank?


hash['id'] = id

hash['enabled'] = true # all servers in server_load set are enabled

hash['load'] = load

hash['online'] = (hash['online'] == 'true')

new.init_with_attributes(hash)

end

end
 

Thanks if somebody will guide me..
Devrim

Kerem Erzurumlu

unread,
Nov 22, 2020, 1:32:29 PM11/22/20
to bigblueb...@googlegroups.com, Devrim Seral

Hi there,

For our case, we are using moodle with scalelite. Maybe, there will be
an optional parameter which will include "max user count" on that
meeting/event based on enrolled user count. And load balancing can be
made by considering this number also.

Just an idea...
> --
> 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
> <mailto:bigbluebutton-...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/bigbluebutton-dev/544eb313-de9c-4b12-a869-fca1be8d09ddn%40googlegroups.com
> <https://groups.google.com/d/msgid/bigbluebutton-dev/544eb313-de9c-4b12-a869-fca1be8d09ddn%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
Kerem ERZURUMLU
Uzaktan Eğitim Uygulama ve Araştırma Merkezi Müdürü
Yard. Doç. Dr. Tel: +90 452 2265200 / 4212
Ordu Üniversitesi GSM: +90 532 2539074

heth...@googlemail.com

unread,
Nov 30, 2020, 11:15:12 AM11/30/20
to BigBlueButton-dev
Hi,

this was discussed at some length in some scalelite github-issues or -PR-Discussions. I haven't updated my PR (#108) to the current code base yet because I didn't see any point in doing so:


Also, revisiting #108, I see that @defnull posted a solution for weighing audio and video into the load... Somehow I missed that comment up until now...

bye
Christian (einhirn).
Message has been deleted

heth...@googlemail.com

unread,
Apr 29, 2021, 3:21:20 AM4/29/21
to BigBlueButton-dev
Please do not hijack an old thread - just create a new one for your question. Also your question might perhaps better be suited to the bigbluebutton-users or bigbluebutton-setup groups.

karthikssh...@gmail.com schrieb am Mittwoch, 28. April 2021 um 22:28:26 UTC+2:
Hi,
This message is regarding Send notification to users when recording is ready from moodle LMS. I have enabled this from moodle and also enabled the script post_publish_recording_ready_callback from bbn server end but I'm not able to receive any notifications. 

The problem here is, the callback is coming from bbn but we are using scalelite to process the recording so I'm not able to get any callback from scalelite.... Could you please help me with this? Or any suggestion from your side would be greatly appreciated.

Thanks
Reply all
Reply to author
Forward
0 new messages