Accelerator icon indicating copy to clipboard operation
Accelerator copied to clipboard

Server Requirement

Open MudrekaBohra opened this issue 4 years ago • 7 comments

Hello team please specify the server requirements needed for the application to install

MudrekaBohra avatar Jul 04 '20 07:07 MudrekaBohra

hey, you don't need much 4vCpus 2gig Ram will probably be enough for a 10 People session. But it also depends on your settings... Please take a look at the /configLoader.js there we explain all the settings. Set: "enableClientVideoProcessing" to true (in you /config/config.json) so the server don't need to encode video.

cracker0dks avatar Jul 05 '20 13:07 cracker0dks

hi i want ti cater to 17000 students how to achieve this and there will be around 40 students per meeting

MudrekaBohra avatar Aug 07 '20 04:08 MudrekaBohra

We never tested with this amount of people but the plan should be as followed.

You need to loadbalance, so first define one server as master and test there if it works in general. Then change the config.json so you have less load on all the servers. For the least amount of server load define the config.json of the master server:

"enableGlobalVideoProcessing": false,
"enableClientVideoProcessing": true

This way the server will not encode the video data.

Then you need to spin up loadbalancers. You can start the same container but with a different config to be a loadbalancer. So start up a new instance and copy/past the loadBalancerAuthKey from the master server into the config.json also set master=false and set the masterURL to the url of your instance.

This will loadbalancen every room to a different server if possible (or the server with least clients) If this is working for you so far (you should see a log output on the master console everytime you spin up a new loadbalancer). I would change enableLocalMCU to false on the master server so it can focus only on sending socket requests.

All config parameter are explained here also: https://github.com/cracker0dks/Accelerator/blob/master/configLoader.js

Again: please keep in mind this not tested for such amount and maybe will just overload the master servers socket requests. So try to start slowely and maybe consider more then one master with loadbalancers.

greetings :)

cracker0dks avatar Aug 07 '20 11:08 cracker0dks

hi thank you for the explanation really appreciate it, as you have stated in the main documentation that a single instance can be used to cater 250 user so what is the minimum requirement for such an Instance (Which could have 250 Users)

MudrekaBohra avatar Aug 08 '20 04:08 MudrekaBohra

Hard to say we had 50 Students on 24vCPUs (~2.2Ghz) on 50% Load. Depends on the clock speed of your cpu. Greetings

cracker0dks avatar Aug 09 '20 20:08 cracker0dks

maybe you need Kubernetes for your deployments ... you dont need to touch your code for that purpose

AloyASen avatar Sep 05 '20 16:09 AloyASen

We need to be exactly be sure on how much approximately a server can handle and we need to know if the scaling can be done vertically or just horizontally, in other words, if the system can work better with more CPUs and RAMs or should we add more servers, I am willing to start a test group of that or if @MuderkaBohra tried it and can tell us how did it work!

Thanks

emaalouf avatar Nov 17 '20 00:11 emaalouf