How Much Concurrency Can the Server Hold?

For example, suppose I have a EC2 server of, say, 4 core 8G memory, then how many people can I support at the same time using this server? I only need voice call and do not need video call, and only need to support at most 4 people in one video chat room.

Actually, I need to support at least 1000 users at the same time. So I wonder maybe I should use a cluster? And how many machines should I buy for that cluster?

Thank you very much for this wonderful library - which is even open source! And thank you for your reply!

So this means 4 incoming and 12 outgoing streams.
Mind that this is my opinion and is not tests, so there is nothing to back up my statement. But on the current instance, we use for the bridge which is c5.xlarge should handle 500-600 audio streams … which is 30-40 such conferences approximately. It may be and more …

1 Like

Thank you very much for your reply!! I wonder

  1. Why you use c5 server, since I see Amazon say it is for “computational heavy tasks”. Is jitsi computationally heavy? I think the server mostly need to forward the data packages - so it should not need a lot of computations?
  2. If I restrict further that only two persons can talk with each other (not allow 3,4, …), then I think we have only 2 streams. Or can we have 0 streams because they are now peer to peer? Or can we use software such as ngrok, or simply create a VPN, and then we can completely get rid of any servers?

I am a newbie in this field, so thank you very much for your kind reply!

Decrypt and encrypt data is happening in the bridge, but those are hardware accelerated.

You can offload jvb (what we do for meet.jit.si) is having a turnserver as a fallback for p2p calls. So p2p calls should not be hitting jvb with media.
2 peers are 4 streams if it goes to the bridge, two in and two out.

1 Like

Oh I get it! Thank you very much!

Decrypt and encrypt data is happening in the bridge, but those are hardware accelerated.

So if I use other libraries, it can happen that, my server needs to do nothing more than a package forwarding, and almost no CPU computations?

You can offload jvb (what we do for meet.jit.si) is having a turnserver as a fallback for p2p calls. So p2p calls should not be hitting jvb with media.
2 peers are 4 streams if it goes to the bridge, two in and two out.

Do you mean that: When only two persons (not multiple ones), I can cover all possibilities by (1) either let the two clients talk directly without passing any server, or (2) use a turnserver which does simple package forwarding and do not need any more server. In other words, I never need jvb in this case. Do I understand it correctly? By the way, I wonder what software (or hardware?) do you use for your turnserver?

Thank you very much!

This is how jvb works, it needs to decrypt packets to be able to be smart for video forwarding to just forward thumbnail quality or HD if the participant is on stage stuff like that. And same is done and for audio as we need to do it because of the video there is no way to disable that.

If you want just p2p audio calls, you don’t need jitsi-meet, this is a videoconferencing solution and there is no point in running the whole infrastructure for p2p calls which will not hit jvb.
Turn server is needed in case it is not possible to establish a direct p2p connection between clients. For turnserver we use coturn.
If you need more than 2 participants an SFU like jvb is needed.

1 Like

Oh thank you so much! Now I know I do not need to use this jitsi solution for our current stage (only two persons in a meeting) and a coturn is enough, and we will definitely use this wonderful package in the next stage! I will go and deploy them, and thank you very much!