JVB ARM CPU usage much higher than expected

With the latest stable release, arm package for JVB are available in the jitsi repository. (jitsi-videobridge2/stable,now 2.1-551-g2ad6eb0b-1 all)

So I tried to migrate our JVBs from AWS c5.xlarge to c6.xlarge (arm only). I was expecting c6 to be much more efficient, but surprisingly, the CPU usage is way worse !

With one conference of 10 people running, c5.xlarge use around 5% of CPU. (measured with top). But c6.xlarge CPU shot up to 60% !

Any idea of what is going on? Sorry to tag you @Jonathan_Lennox, but maybe you did some performance test with arm package?

Can you confirm that the bridge is using OpenSSL for its cryptography? In the JVB log, you should see something like

JVB 2021-09-01 18:11:25.210 INFO: [80] JitsiOpenSslProvider.<clinit>#46: jitsisrtp successfully loaded
JVB 2021-09-01 18:11:25.216 INFO: [80] Aes.createCipher#433: Will employ AES implemented by OpenSSL for AES/GCM/NoPadding.
JVB 2021-09-01 18:11:25.217 INFO: [80] Aes.createCipher#433: Will employ AES implemented by OpenSSL for AES/CTR/NoPadding.

That should be the only substantive CPU-dependent performance difference for ARM that’s within our control. Beyond that is dependent on the CPU, and on the JVM.

Sorry for the noise, in the end I just made a mistake while measuring. CPU usage is actually about the same…

I got confused because my production server (c5) with 100 users has lower CPU, but after digging it turn out that barely any user turn on the video… But when I tried c6 in my test environment I had a meeting of 10 users each of them with video, and it was enough to dwarf the CPU cost. :sweat_smile:

Also yes, the arm package correctly use openSSL the “jitsisrtp successfully loaded” is indeed present.

2 Likes