Scorm test 10,000 users simultaneously

Re: Scorm test 10,000 users simultaneously

by Ron Meske -
Number of replies: 0
Picture of Particularly helpful Moodlers
Luke,

Every installation is so different, what works for one may not work for another. Another consideration, some SCORM courses can be quite noisy and communicate with the database often, while others may only doing load and closing of the course.

In my cases, when checking usage I look at how many active users per minute are hitting doing something in Moodle that triggers a page load or a database query. The peak seems to be about 200 unique users being active within any one minute. I do not have autoscaling setup as there has not been a need yet. The EC2 instance is an m5.large and hosts the Moodle code and Moodledata. The RDS is a db.m6g.large and is running MySQL 8. The load on the EC2 is minimal, averaging below 10% and spikes to 20%, which means I could probably go down in size, but then there is less memory and slower network, so it could impact the user experience. The CPU usage on the RDS server averages 30% and spikes to 60%. When reports are being run during the day, I see spikes to 100%. So, in my case, because almost every course is predominately SCORM activities, there is a lighter load on the web server than if courses utilized other activities like quizzes.

I will say, prior to me working with the client they had a single server system running both web and database. It was an m5.xlarge and it was doing ok, but did have slow performance and they were planning on adding a few thousand users. That is when I split it to an EC2 and RDS instance, anticipating more active users at any point in time.

If you are seriously thinking of trying to support 10,000 active users, you will need some type of load balancer for your web server and a db cluster. Also, you will need to have a shared moodledata folder. Which folders in the the moodledata folder should be local versus shared is dependent on your use.

You mentioned you have a tight deadline. I wouldn't dream of designing a system to support 10,000 active users and guarantee it without the aid of a moodle partner that has experience with that size of system unless I had time to do plenty of testing. If you want to go it alone, here is something you can use as a reference: https://docs.aws.amazon.com/architecture-diagrams/latest/moodle-learning-management-system-on-aws/moodle-learning-management-system-on-aws.html

Best,
Ron