Expected CPU usage

I’m running a Jitsi server on Azure and I find the CPU usage somewhat on the high side.
The VM has 8 cores (Intel® Xeon® CPU E5-2673 v4 @ 2.30GHz) and the server has 32 GB ram.

For the clients I’m using android phones. With two rooms of each 7 clients, makes a total of 14 phones.
I get a server cpu load of between 0.8 and 1.3 (10% - 13% of total cpu).

Is this a normal cpu load?

It sounds normal.

It does sound pretty normal. I have had 16 users on in a single conference and got a cpu load around 1.0

I would say your CPU load is OK, normal and expected.

The server need to re-encrypt all traffic that passes through the videobridge thus the video bridge typically show about 12% cpu continously with a fiew users connected.

If the server have access to hardware encryption then it will max out at 40%-50% on heavy load (120 users).

It is normal. Jitsi doesn’t need much RAM, but loads the CPU, which is quite natural since it is handling video streams.

I see similar loads as @KevinNL and I’m a bit confused about this. In my configuration I use nginx as a web server. Does jitsi / the videobridge do any encryption by itself or is this completely moved to the web server via the proxy configuration? Interestingly the web server seems to produce almost no CPU load. It should also support much more than ~50 Mbit/s (which is what we got in total (upload + download) with 20 participants in two conferences).

If the encrypted video streams are not passed through the web server: Is it possible to configure the used TLS protocols or ciphers? I guess the videobridge does not produce a lot of handshakes, so the streaming encryption must be the bottleneck here.

Try lower the requirements on the clients:

This would only affect client CPU usage, right?

Video stream are directly between jitsi-videobridge and the client, it does not goes trough the webserver.
I don’t think the encryption is the bottleneck, especially if you have aes-ni support.
If your load is similar to Kevin’s one, “(10% - 13% of total cpu)”, the issue is probably not on server side… and as we see frequently problem on client side, @xranby suggest you to check that.

Well, I don’t have issues except that the server load is a bit high for my taste. Only ~8 people per CPU core is less than I would expect, especially when the total bandwidth is only at 50Mbit/s (for 20 people).

What keeps the videobridge busy when it’s not the encryption?

We did some analysis of CPU usage and by disable excessive logging my JVB now runs at 5% CPU usage instead of 12%. Its like the server became twice as powerful after a simple JVB configuration change :slight_smile:

2 Likes