Server Specifications for more than 150.000 user enrollments

Hello all @regis @ak00001 @nachham @andy-thomas-83 I would like to make a question.

We have a tutor dockerized Open Edx installation, which is stored on a VM with 8GB RAM and a 500GB disk (with average i/o).

Can it potentially support a big amount of enrolls; With more than 150,000 users. What characteristics should it have? What server specifications and hardware infostructure;

Will this be sufficient for serving a potential 150K enrolled users, or we might experience a system downtime?

Do you think this infrastructure will be sufficient or will we need to scale up? Do you suggest some other hardware specs?

We would like to mention that the MOOC (https://mooc.edu.gr/) is developed for educational reasons and no profit.

Participants of MOOC will become familiar with a wide range of useful tools, resources, and methods of integrating ICT in the classroom aiming at the development of key competencies by the students and bringing an additional pedagogical value in the learning process. Participants will be members of the Greek educational community, and enrollment is expected to reach more than 100.000 users.

Thank you in advance

3 Likes

It’s difficult to provide a definite answer to your question. Scaling up means different things in different contexts. First of all, you should probably consider deploying Open edX using Kubernetes, or another multi-server deployment method, in order to provide a high level of platform availability.

If for some reason you cannot switch to a multi-server infrastructure, then I’d strongly suggest scaling up the server with at the very least 16 Gb RAM, if not 32 Gb. I understand it increases the server costs (~$280/month on AWS) but you will sleep much better at night.

I believe the community will be extremely interested in having your feedback on how your platform will scale to so many users. Please consider writing a forum post in a couple weeks :slight_smile:

3 Likes

Thank you @regis for your answer :slight_smile: , we will be happy to give you our feedback after we launch the course!
If we will need more help, we will bother you again. @galas

1 Like

Hi @stefanidi,

You can find in this post some related links: Number of simultaneous users on open edx

Also, in this wiki page you can find more info about edx.org as of 2015: https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/60228120/Running+Open+EdX+in+Production#RunningOpenEdXinProduction-edX.orgDeployment

Probably what may be useful to estimate is how “concurrent” those 150K enrolled users are. How many courses do you have, if the course are self paced or not, etc.

As @regis mentioned, it would be extremely valuable to have your feedback.

1 Like

Hello @stefanidi @cacciaresi @regis,

I’ve posted here about the same predicament about a month ago. We have approximately the same number of learners and are a non-profit accredited university. I would like for us to have a discussion in which we can discuss perhaps a deployment strategy that is suitable for 150k+ concurrent learners. I have some ideas that I’ve worked with, but have had to decouple, to the extent possible, the current Tutor deployment. Let’s schedule some time, or just collaborate through a better medium?

Cheers,

Tim Andrus

I’ll be happy to chat about this! Would you like to schedule a video call?

1 Like

Hello, thank you @all very much.

It would be great to arrange a video call, to discuss about different ideas and possibilities.

I would have to inform you, that I’m a front-end developer and not a system administrator.
So let me introduce you, with my colleague Manos @galas the System Administrator of cti.gr,
it would be better if he can be at the video call too, in order to help.

Would you @TimothyJAndrus @cacciaresi @regis be available this week?

*p.s I also had an answer from another forum, so I decided to post it here if it helps.

The main thing you need to know is the average amount of concurrent users in order to be able to properly scale your instance. From the numbers you mentioned (150k enrollments), your instance is not exactly small.

Do you think this infrastructure will be sufficient or will we need to scale up? Do you suggest some other hardware specs?

Considering a vanilla Open edX deployment (not through Tutor), it’s definitively not enough.
Even considering 1% of your enrollments (1.5k/users) to be active at the same time it’s still the upper limit your infrastructure can handle.
The ideal configuration would be to:

Extract the databases from your deployment (MySQL and Mongo) and use managed/easy to scale services (such as AWS RDS and MongoDB Atlas).
Push the file storage to S3 or compatible service.
Deploy Open edX appservers behind a load balancer with autoscaling (which automatically spawns new VMs depending on the server load). Alternatively, use Kubernetes, but there isn’t an edX supported method of doing that currently.

Will this be sufficient for serving a potential 150K enrolled users, or we might experience a system downtime?

You’ll likely suffer downtime, due to the server timing out and not being able to serve the requests in time.

I can’t say much for Tutor, as it uses a custom deployment method, but from a look at the documentation, there’s support for deploying it at a Kubernetes cluster. You’ll need to ask @regis for support and help (as the official maintainer).

1 Like

@TimothyJAndrus Can you organize a meeting?

2 Likes

Please include me :wink:

1 Like

@regis @cacciaresi @stefanidi, I am on Mountain Standard Time, United States of America, which is 8:17am on Mon Sep 21st right now. What are your respective timezones so that we can setup a reasonable time that works for all?

I’m in Paris, France.

1 Like

I wish that I lived in Paris, France! So it’s about 8 hours ahead of Salt Lake City, Utah, USA. I would be more than willing to do early morning for me. Whatever works for you my friends!

1 Like

Hello, we are from Greece, so we are Athens Timezone

https://www.timeanddate.com/time/zone/greece/athens

So we can arrange if you are available early in the morning for you.
19.00 or 20.00 Athens time so about 9.00- 10.00 am for @TimothyJAndrus

Let us know what works better for you.

Thank you

1 Like

You are very thoughtful @stefanidi! 9 or 10am is certainly not early for me. I actually arise at 5am to begin my morning routine and am often online working at 6am and take a mid-day break for a couple of hours, then return to my laptop to work again until 1900-2000 (7-8pm). The earlier the better.

Ok, perfect, so is it ok to arrange the meeting for this Wednesday between 5.30, 6.00 am USA time or later if you want. @regis @cacciaresi if it’s ok, for you too, we can organize it.

Can we do 2020-09-22T12:00:00Z?

(full disclaimer: I don’t live in Paris but I’m the Paris timezone :slight_smile:)

1 Like

I can do it 2020-09-22T12:00:00Z

We also can attend the meeting today,if it’s ok for all of you including @TimothyJAndrus

@regis @TimothyJAndrus @cacciaresi Are we still going to meet up today? Will you share your skype ids or a zoom?

Thank you in advance

I’ll be there :slight_smile: https://us02web.zoom.us/j/8011926211