How many learners can I add to my WordPress LMS?
This is a question I often have to field when speaking to new prospective clients, and of course the answer isn't straight forward as there are a number of variables we need to consider.
A complex, high resource platform can be counter-balanced with the appropriate configuration of web server specification running behind it of course...
But having said that, most of my own clients have managed to maintain a pretty consistent user experience level on a modest budget using shared hosting setups, even after going through major growth periods!
This screenshot is from one of my long-term client's WP LMS platform, which we originally developed and have managed throughout. They recently crossed over into the >15K user mark and continue to operate their online learning business through their shared hosting provider.
How are you currently managing the performance of your own WP LMS?
Do you have plans to rapidly grow your audience base?
It would be great to hear your stories if you're happy to share with the group!
For us it's all about 'concurrent' users. When we're looking at hosting we're generally not too fussed if a platform has 500 learners, or 50,000. However, if we know one of those is likely to have hundreds of people accessing it at the very same time then this is then we'd look to dial up the server resources to handle it.
We tend to use a hosting provider called Linode that lets us alter the spec of a web hosting package very quickly (literally via the click of a button!), so if we know there's going to be heavy traffic we can adjust accordingly. Likewise if there is going to be a quiet spell, we can reduce the spec and save the client money by not giving them unnecessary resources. - https://www.linode.com/pricing/
I think the only caveat to this that we've found is in reporting. Generating user reports for systems with large numbers of users can be very resource intensive, so we find it's useful to batch the generation of these or add appropriate filters to any reports to prevent any unnecessarily large database queries.