I have some questions about auto scaling JVB on AWS. We’re self hosting Jitsi on AWS and we want to support around 200 users in a single conference. Our use case is scheduled webinars where only a few people have video and speak and the rest don’t even have permission to enable their mic/camera.
Currently we have one c5a.large instance that’s running nginx, prosody, jicofo, and then we have one or multiple c5a.large instances for jvb. Jvb is in an autoscaling group and we scale up and down based on network out metric. We’re still testing what a good number is to scale out but currently we have set it to 250,000,000 for at least 2 minutes. Based on our use case we should plan for 200 users to join the conference almost simultaneously, however AWS needs at least 3 minutes to spin up a new instance of JVB. The problem is that even if a new jvb joins the pool, the participants that have joined before will stay on the first jvb and only new participants will be put on the new jvb.
So my questions are:
- What is a good metric to scale out jvb as soon as high load occurs?
- Is there any way to redirect already connected participants to the newly spawned jvb?
- Currently we’re using SplitBridgeSelectionStrategy, however I know that is meant more for testing so should we switch to IntraRegionBridgeSelectionStrategy? As I understand this splits participants based on bridge stress as well as config MAX_PARTICIPANTS_PER_BRIDGE. What would be good values for these configs?