Testing 100 participant with KITE to Jitsi is not work as expected

So i was in the middle of me and my team research for the capability of Jitsi Engine.
I was trying to test if Jitsi Engine is capable for more than 100 participants using KITE

My first case was using 1 JVB with 4 Gig of Ram , and the maximum capacity for one room is 50 participant with all video is on.
And then we increase the server by using 2 JVB with 4 Gig of Ram each, and the maximum is increase. but it doesn’t meet the 100 participant. Even, its only capable for maybe 60 participant with all video on, and the rest (40 participant) is not connected to JVB i guess because the sound and the video is off.

Pic above is a testing when we try with 50 participant

Pic above is a testing when we try with 100 participant ( as you can see, some participant is not connected with the video )

So, is the reason for this case is because of the capability of the server orrrr is it the bot that iam using (KITE) ?

Not familiar with KITE, but you’ll probably get more accurate results using Jitsi Torture, the official testing tool for Jitsi:

What do you mean when you say it doesn’t meet 100 participants? You can possibly have the resources to receive 100 simultaneous videos. So we will give you as many videos as you can receive, and if you scroll the videos will update, so will if you pin someone you are not receiving.

Exactly sir, that’s why iam confused why did i didn’t meet 100 participant with all 100 videos on. maybe because of the bot ?

Likely due to bandwidth / CPU. You simply cannot receive that many at once. We use pagination, so if you scroll you should see other videos, in “pages” of 25.

Also, did you configure startVideoMuted in your server? That might cause bots to mute themselves too. Set it to over 100 or leave it undefined.

And make sure clients are not overloaded.

We set it to 200, and still has the same result.
And about the pagination iam aware about that so sometimes we wait 1 page to load, and scroll , and wait again, but at certain times when the participant count hit 100, and the video is trying to load, the bot participants is starting to left from the room, and they rejoin again but with no video and audio

Do you see setReceiverContraints messages being sent after the scroll?

Sorry, Where can i find this log ?

Anyway, updates on the research,
We tried to shrink the JVB into only 1 JVB, but we scale up the specs.
to be like this :
CPU : 12 Core
RAM : 24 Gb
Bandwith : 200 Mb

this is the screenshot of bandwith log , it is spikes down when the participant is suddenly not able to turn on their videos

this is the screenshot of CPU Usage log, it is also spikes dowm when the participant meets 100 participant and the participant starting to left out the room, and rejoin with no video and sounds.

This is the log of JVB, they said it is because of the bandwith (?) but we already have 200mbps…

Any chance of packet loss?

I don’t know now KITE, but with selenium we were monitoring the node instance (cpu & bandwidth) and we saw they are overloaded and they stop sending hd video because of cpu usage and it turns out for the nodes it is too much to render a lot of videos, and that’s why we created the light client to do load testing and we were able to squeeze several senders on the same node and 10 receivers on a node.

1 Like

Have you run test with more bandwith for your JVB ?

Your’re trying to send video for 100 clients with a lastN of 25, right ?
In this case, you need something like 100250.100 = 250 Mbps of outbound traffic only for video streams (Default low resolution VP9 is at 0.100 Mpbs).
And off course you also need bandwidth for the audio stream (I don’t know if the lastN works for audio)
It seems coherent with the JVB log.

Just today, we upgraded to 500mbps and we still have the same issue

Updates on the Research,
We are now using Jitsi Torture with Specification of JVB:
4 Core, 8 GB Ram, Bandwith 500mbps. the peak of CPU usage is 32%, and the peak of bandwith is (IN : 77mbps, OUT: 22mbps)

On the selenium with spec : with 10 VM, 3 of them using 16 core, the rest of 7 using 32 core
, it only reached 50% peak CPU Usage with 60 participant

But the result still not as expected


There’s still error on JVB as i mentioned before “sufficient of bandwith”

What resolution are you receiving for each of those participants?

currently we are using

resolution: 180,

You better try running the load test client for this experiment

And here is how it is used