Our team is currently working on setting up a WebRTC server based on Janus.
We've combined the video room plugin with audio recording and text room plugins
to create an online interview web application. The application seemed to work
fine with only a couple of users.
However, when we started testing and increase the number of users we saw CPU
spikes in both users' pc and our server.
In detail, the server's CPU usage has increased by over 30% even with only 6
users. And each time we add more users we see exponential growth and when the
number reaches up to 10, the CPU goes crazy, and even after disconnecting all the
users, the server doesn't seem to realize this. At this point, the only way
to stop the server is to shut down.
We've been using a regular pc server (intel i5, ubuntu 18.04) for mere
testing and are planning to use a better server in the near future.
The problem, however, is that we have no idea if these CPU spikes are normal and
solely have to do with our server's poor performance.
Because if not, this issue will continue even with a better server.
We've already checked our Libnice and made sure that we're using the latest
version.
We've found that 'hloop' is the main process consuming most of our CPU. (This may
be related to ICE but we don't know exactly how.)
Also, we've already removed the limit on the number of participants.
Any help will be greatly appreciated.
(At least, we want to know whether this issue is due to our server's lack of
capacity or the way we made our application.)
Thank you!