Large Number of Participants & Prosody Performance

Thats true for this load test @Freddie

But although i observed any problem about conference healths, Stress level worries me :confused:

I vaguely remember something about the stress level being tied to 70% or something like that. It’s in the code. If I find the information, I’ll share.

The understanding I have (which could be inaccurate) is that the stress level is relative to whatever value you set as the packet-rate load-threshold, so the stress level is only as accurate as the value you have set there. In other words, you kinda need to tweak it to match the expected capacity of your host for it to be useful.

I don’t know the full implication of a high stress level, but from what I’ve gathered so far:

  • Jicofo would consider a bridge “under stress” if it reports a stress level of >0.8 (configurable). Not sure what this means in practice if octo not in use, but will definitely come into play with Octo (see link below)
  • JVB has a load-reducer feature (disabled by default) where it starts to lower the last-n value once a stress threshold is breached.

I admit this is all quite waffly. Hopefully someone who knows better will chip in :slight_smile:

Edit – Here’s a very insightful post with more details:

2 Likes

Yes, that would be the same thread. Here are the code references:

1 Like

Yep these are calculation parameters of stress level and how jicofo makes decisions by using stress levels

As a result, I understand that , although I did not face with any problem, if stress level above 1.0, call quality is not guaranteed…

But if you haven’t touched load-threshold = 50000 this means that currently that stress level is based on that number, but it can be that your machine that hosts that bridge is capable of doing more. So basically you need to figure out those numbers based on your VM.
A good metric to look at is the packet delay stat and know the bridge people use that to say is a bridge overloaded or not :slight_smile: Bu I don’t have values stored in the back of my head to give you about it :slight_smile:

2 Likes

As far as I analyze, when i do load traffic to 1 jvb instance, I saw package loss when stress level is at 4, and package rate is nearly 200000 (upload+download).

so these values are accurate for me, my environment has nearly 4 times better performance

than c5.xlarge.

load-threshold = 200000 is true value for my environment :slight_smile:

With bare metal 8C/16T Xeon servers with 32 GiB RAM we use load-threshold = 250000. With that load threshold, a stress level of 1.0 is about where RTP/RTCP packet delay starts to ramp up which is when you start to see an impact on quality.

Tuning the load threshold so that stress < 1.0 in normal operation is important for Jicofo’s bridge selection logic as well as being important if you use the load reducers (which IMO should be a last resort protection if something has really gone wrong with your scaling).

For big room, I see that there is a new configuration at jicofo → source-signaling-delays

Does it enabled at meet.jit.si ? Do you suggest to activate that config?

This is something we are currently working on … that has still not reached meet.jit.si

Hi,

is following prosody config set at jitsi production environment?

Thank you.

You mean 400 participants in a single conference room? or concurrently with multiple conferences? and I have a single server with 8 cores cpu and 16GB RAM and 100 MBPS with this configuration how many participants can i able to scale ?

please share the server’s hardware requirements and configurations , It will be very helpful.

This bandwidth is enough for 40 HD streams if you have 100MB per download and 100 per upload. If its all together this is 20 in HD.

1 Like

Thank you ,yes @damencho ,I have an overall bandwidth of 400 mbps , should I able to have 100+ participants in a single call with 15 participants with video and the rest with only audio.

So you must check what does 400 means, if its overall and is asymmetric so you have 200 download and 200 upload, which will not be enough.
Cause on the server you will have 15x2.5 ~38 Mbps for download.
And 100*2.5 ~ 250 for upload. If the server has up to 200 Mbps upload this is around 80 and to be safe 60 participants that can see HD stream.

Thank you sir.I have an overall of 400 Mbps bandwidth.And I also want to ask you some suggestions , I want to setup a jitsi server through that i have to scale about 350 to 500 active participants in a single conference for that should i have to do any specific configurations in the software side or only required hardware configurations are enough for that?

Enable websockets instead of bosh and lower the resolution to 360p and make sure you have at least two bridges woth configured relay/octo.

1 Like

Thank you so much. I’ll do this for sure . An overall of 1000 Mbps bandwidth and 16 Core CPU with 32GB ram , will this configuration of hardware and bandwidth is enough ? for scaling 350 to 500 participants in single video conference.