Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server Requirement #22

Open
MudrekaBohra opened this issue Jul 4, 2020 · 7 comments
Open

Server Requirement #22

MudrekaBohra opened this issue Jul 4, 2020 · 7 comments

Comments

@MudrekaBohra
Copy link

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

@cracker0dks
Copy link
Owner

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.

@MudrekaBohra
Copy link
Author

MudrekaBohra commented Aug 7, 2020

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

@cracker0dks
Copy link
Owner

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 :)

@MudrekaBohra
Copy link
Author

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)

@cracker0dks
Copy link
Owner

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

@AloyASen
Copy link

AloyASen commented Sep 5, 2020

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

@emaalouf
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants