Janus resource usage & limitations

280 views
Skip to first unread message

Rani Yaroshinski

unread,
May 13, 2022, 4:59:03 AM5/13/22
to meetecho-janus
Has anyone checked the performance and scale of Janus from the point of view
of amount of Video-Rooms per given VM (cores + RAM + network).
It seems like its capacity is reached much before resources are exhausted.

As an example, on a 4 cores/4 RAM machine with 10Gbit network, 
a single Janus docker reaches its potential in 75 rooms, with 1 publisher, 1 subscriber each.
Meaning, if we try to add more rooms, and video parameters are becoming seriously bad, meaning delays, packet loss, etc.
But we found out that if we put 2 docker containers on the same machine each one with 75 rooms, it is still able to hold them.

This raise a question, maybe about the way the plugins are running. Janus is multithreaded and is support to be able to use all the cores on the machine, if needed. Nevertheless, our trails show it is not the case.

Moreover, I would expect the main parameter which limits the capacity of a Media-Server to be the networking. But it seems like that as we reach the capacity (what seems to be the capacity), the network card is not even 0.05% utilized, and also other parameters like cpu-usage and memory are not the limit.

So any suggestion on a way to tune this, and to be able to maintain more concurrency (from the point of view of streams) will be appreciated.

Regards,
Rani

Alessandro Toppi

unread,
May 13, 2022, 5:28:42 AM5/13/22
to meetecho-janus
The event_loops parameter in janus.jcfg is one thing that should be tuned when trying to reach the best performance
Also since you are referring to 1-1 rooms, try to set the loop_index when attaching new handles, in order to stick publisher and subscriber on the same loop.
Finally you could profile janus and help discovering what is limiting the resource usage, it could be useful for many others :-)
Reply all
Reply to author
Forward
0 new messages