Openvidu Performance Issue

Hi,

We try to develop an online education application based on OpenVidu Call. Our target class typically consists of 25 students and one teacher (26 participants in total). For minimizing the total number of streams, we initially do not permit students to publish their streams(i.e. stop publishing webcam and audio) and at the beginning only the teacher publishes. Students can publish only if the teacher gives permission to them. And also we limit the maximum number of publishing students to 4. So in the maximum situation, we have 5 participants publishing(1 teacher and 4 students) and 21 students are only subscribing.

Sorry for this long introduction, here is the issue:

We deployed our application on a machine with 16 cores.

By making some calculations, in such a session as described above we have 5x26 = 130 streams(at maximum) and according to the results described in in the OpenVidu performance test we expected to manage 9-10 such class as described above on this 16 core machine.

But we tried to make a test with 26 participants(1 teacher and 25 students) and only 15 of the students could manage to connect to the session after that number no other student could connect.

So what could be the problem and what should we do to detect and solve the issue. (By the way, we are using OpenVidu CE at this point)

We will be grateful for a quick help since the educational season is about to start and we need to finalize our product as soon as possible.

Thanks.

You should make sure whether you have publish streams with video/voice disable or really not publish streams.
The connection corrupt issue may caused by websockert heart beat timeout.
There are many messages exchange during signalling negotiation, which will cause the websocket heartbeat message timeout. The more participants the more negotiation message sent and received.
I think it is a bug with the heartbeat message, it will consider the socket broke if it didn’t receive heartbeat in 10 to 20 seconds, even there many other messages exchanging.