Last version and load balancing question

Hi there,

I’m using jitsi sucessfully since a few month but now i would like to use more jvb with load balancing feature.

I added a new JVB to my setup with the muc method. Everything seems to be ok, the new JVB is registred on jicofo and if i switch off the first bridge the second takes conferences.
But load balancing doesn’t seems to work. If the two bridges are online, only the first one takes new conferences.

My configuration:
On jicofo:

org.jitsi.jicofo.BRIDGE_MUC=JvbBrewery@internal.auth.XXXXX.fr

On first JVB:

org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
#org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=XXXXXX
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=XXXXXX
org.jitsi.videobridge.ENABLE_STATISTICS=true
org.jitsi.videobridge.STATISTICS_TRANSPORT=muc
org.jitsi.videobridge.STATISTICS_INTERVAL=1000
org.jitsi.videobridge.xmpp.user.shard.HOSTNAME=XXXXXX
org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.XXXXXX
org.jitsi.videobridge.xmpp.user.shard.USERNAME=jvb
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=XXXXXX
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.XXXXXX
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=jitsi01
org.jitsi.videobridge.xmpp.user.shard.DISABLE_CERTIFICATE_VERIFICATION=true
org.jitsi.videobridge.DISABLE_TCP_HARVESTER=true

On second JVB:

org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
#org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=XXXXXX
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=XXXXXX
org.jitsi.videobridge.ENABLE_STATISTICS=true
org.jitsi.videobridge.STATISTICS_TRANSPORT=muc
org.jitsi.videobridge.STATISTICS_INTERVAL=1000
org.jitsi.videobridge.xmpp.user.shard.HOSTNAME=XXXXXX
org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.XXXXXX
org.jitsi.videobridge.xmpp.user.shard.USERNAME=jvb
org.jitsi.videobridge.xmpp.user.shard.PASSWORD=XXXXXX
org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.XXXXXX
org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=jitsi02
org.jitsi.videobridge.xmpp.user.shard.DISABLE_CERTIFICATE_VERIFICATION=true
org.jitsi.videobridge.DISABLE_TCP_HARVESTER=true

Is there anything else to do ?

Best regards

I reply to myself. It seems to work but i don’t understand the load balancing threshold. I need almost 3 confs and 20 participants to send new confs to the second JVB. Is there a way to check load balancing “properties” ?

2020-04-06 09_50_53-Window

this muc_nickname value sould be unique for each jvb

Hi,

It was a mistake in my post, i updated it.

its required if you create another videobridge for load balancing need same specs of hardware?

In my jicofo logs i can see this:

Jicofo 2020-04-06 10:02:06.178 INFOS: [28] org.jitsi.jicofo.bridge.BridgeSelectionStrategy.log() Selected initial bridge Bridge[jid=jitsi01.XXXXX, relayId=null, region=null, stress=0,00] with packetRate=0 for participantRegion=null

Why packetrate is still 0 ? Is there anything to do on the system (debian 10) to allow packetrate detection ?

Hi,

when a new conference is started, is there a way (may be log or so…) to see on whitch videobridge this call is hostet.

@equinoxefr your graphs looks good is this prometheus with grafana? Can u give some more informatons about your monitoring?

Cheers.

Yes, you can have a look at jicofo.log

Jicofo 2020-04-06 09:32:16.570 INFOS: [107] org.jitsi.jicofo.AbstractChannelAllocator.log() Using jvbbrewery@internal.auth.XXXXX/jitsi02 to allocate channels for: Participant[eelmpg@conference.XXXXX/2a07b87a]@49812771

I’m using Zabbix / grafana to monitor jitsi.
My plugin is using this very simple command to get stats in json format:

curl http://XXXXXXX:8080/colibri/stats | jq

I can’t see any stats info in jvb logs. How can i troubleshoot stats in muc mode ?

I did some tests with pubsub enabled this afternoon. It seems to be better ! Is there a known issue with muc based load balancing ?

image

Hi, I have the same issue using pubsub.

I setup 4 JVB that work fine independently. I created a room, stop service of active JVB, the failover will go to the next JVB, and so one.

But the load balancing is not working, Jicofo will always choose the first JVB, even if it is at 80% CPU, 45 participants, 7 rooms. Other JVB remaining unused.

I have no errors in logs.

Any idea where I should look at ?

@equinoxefr, I found issue and replied there: Load balancing - limit per video bridge and how to observe