Our openvidu-based app needs to support a large number of participants (up to 3000) in a single room. The room has 1 preselected publisher for the entire duration of the session, the rest of the participants are listeners.
I know that large-scale sessions are not supported yet, but considering that our use case is relatively simple (only 1 publisher) I was hoping there are things we could do to maximize our single room capacity.
First of all, which configuration would you recommend for our app? Mediasoup or Kurento, single or cluster? I saw in an older post that a single room cannot be balanced across several cluster nodes. If that’s still the case, should we assume that a cluster doesn’t help with single-room scaling at all and we’re better off with a single pro instead?
Secondly, are there things we could implement on our application side to work around the limitations of openvidu regarding large-scale sessions? Given that our sessions have only one preselected publisher, we are considering the following solution - deploy several single instances of openvidu, make a room in each instance and duplicate the publisher’s track in every room, then evenly spread the listeners across all instances. If we had let’s say 5 instances, this approach would split a room with 1 speaker and 3000 listeners into 5 rooms with 1 speaker and 600 listeners each. Seems like a working solution on paper. Are there any pitfalls we should be aware of before trying to implement something like that?
And finally, do you have any tips and tricks for load-testing an app? We are currently using a script that boots up a browser and makes a bunch of connections, however, we are limited by the number of connections a single device can make