Hacker News new | ask | show | jobs
by bearjaws 978 days ago
Damn shame, I just migrated a 10,000+ student LMS to Moodle for a contract job. Unfortunately due to the contract terms theres not really any room to play around with something new.

Moodle is a total beast to scale, it uses a ton of memory and EVERYTHING assumes its running on one server, not a high-availability setup.

1 comments

> Moodle is a total beast to scale, it uses a ton of memory and EVERYTHING assumes its running on one server, not a high-availability setup.

It's PHP and MySQL/PostgreSQL. Not really sure where there should be a problem. With CephFS or NFS scaling shouldn't be an issue for the most part and the database can run on another host?

Have to install plugins to your repo to use with containers.

Sessions write to disk by default.

Uploading to S3 is a plugin you have to install - that defaults to still saving to disk then uploading after a minimum duration.

If there are no provisions at all for multi-server, sessions can be stored in local files, which would lead to probably pretty poor performance if they're thrown on an NFS share.
I've been running multi-server Moodle for many years. My sessions are in Redis, but you have the option to have them on the database. High traffic Moodle (mine is about 40k users) is a bit involved. You need to set up caching and also connection pooling in the database and there are a few hidden pitfalls, but it can be made to perform very decently