How to Scale Up Your LearnDash Infrastructure
Your course website needs to handle a larger load. Here’s how to prepare it for growth.
One of our most frequently asked pre-sales questions has to do with the user capacity for our plugin. Sometimes this question comes from a large organization that wants to be able to onboard a whole lot of users at one time, whereas in other cases, it comes from users who are seeing their course numbers grow and want to prepare for continued success.
A little while ago, we talked about growing your course from the human resources side (namely marketing and administration) so that an educator could manage a larger number of learners. However, this post is going to focus on the nuts and bolts of your site—the number of concurrent users you can handle, your hosting requirements, and other factors that can affect site speed. It’s a lot to handle, so let’s jump in.
How many users can LearnDash handle?
When prospective customers ask this question, it usually means one of two things: 1) Is there a limit to the number of users who can sign up for my course? 2) How many users can be on my course at one time?
The answer to the first question is that there are effectively no limits to the number of users you can sign up to your course. While some platforms may have a pricing plan that limits the number of students who can be on at once, LearnDash does not operate on this structure. This is important given the number of users who will register a user account and then never sign in again, or who will complete a course but then stay in your system forever. No one wants to pay extra for that—nor should they.
However, when it comes to concurrent users, the answer depends primarily on your hosting setup. Again, LearnDash can function for any number of concurrent users you would like, but only if your infrastructure is up to snuff.
What kind of hosting do I need to scale my course?
Hosting is the biggest factor that will affect your ability to scale to a large number of concurrent users. We’ve written in the past about popular hosting options for WordPress, so we’ll just start by saying that if you’re still in the “budget” realm, which is to say you’re running off a shared server, it’s time to upgrade.
However, when making your choice, be sure to look at the server specifications. Bandwidth isn’t the only factor to consider. RAM and processing power will also affect the number of learners who can be taking your course at one time. Many performance issues are also related to memory configuration or slow database services from the hosting, so having a fast database system is key.
When you’re ready to upgrade, your basic options are to move to a VPS, a dedicated server, or a CDN.
1. Virtual Private Server (VPS)
A VPS is a step up from a shared server, without being a fully dedicated server. They operate by partitioning a server, allowing greater control over the OS and software that is then used to run it.
VPSs have the advantage of being significantly more affordable than a dedicated server, but it still shares some resources with other VPSs on the same server, as they share the underlying hardware. This is a good option for educators anticipating moderate growth, but will be insufficient for those who expect large user numbers.
2. Dedicated Server
Dedicated server environments perform better than VPSs, because they reserve all the server resources for the client. For that reason, they are also more expensive, but they give users much more control over their hosting environment.
It is also possible to purchase multiple dedicated servers and then use a load balancer to distribute traffic, which is the solution offered by Liquid Web’s Performance Hosting. It’s an expensive solution, starting at over a thousand dollars a month, but it will give your site the resources it needs to handle high user volumes.
3. Content Delivery Network (CDN)
CDNs have had many uses over the course of Internet history, and have usually been used in conjunction with hosting, rather than as a host in and of themselves. However, hosting sites such as Presidium and Pantheon both use CDNs combined with dynamic scaling architecture to rapidly expand a site’s resources in the event of an unexpected traffic spike.
The CDN itself reduces latency by positioning servers around the globe so as to be geographically closer to visitors. All told this is an attractively flexible solution for businesses that aren’t sure of the resources they will need, but want to prepare for the unexpected.
To know which option is best for you, you should have a good understanding of how many visitors come to your site during your peak traffic hours, as well as a target for the growth you would like to see. You can find out what your current user loads are by looking at your Google Analytics, which will show you the number of visitors who are on your site during peak traffic times.
If you want to understand how your website will hold up under a heavy user load, we recommend running a load test. There are several sites (for instance, Load Impact, Loader, and BlazeMeter) that will allow you to test thousands of concurrent users at a time, and you can use that data to see if your site is performing at the level you need. If it’s falling short, you can use a load test as a diagnostic tool to see where the bottleneck may be.
How can I make my site faster?
Load testing can give you an idea for how your website will perform under pressure, but site load times are another matter. Slow site performance contributes to a higher exit rate, lower page views, and decreased user satisfaction. It’s not a good look.
Some factors won’t be under your control. If your user is logging on with a bad connection, or if their network is experiencing high traffic volumes, then their entire Internet will be sluggish—not just your site.
However, the design of your site can contribute to long load times for someone with a bad connection, or slow it down even for someone with a good one. You can start testing your site speed by using Google’s PageSpeed Insights tool, which should also give you tips for how to improve performance. A few of the usual suspects include:
1. Too many bad plugins.
We don’t want to throw anyone under the bus here, but there are a lot of poorly-written plugins out there that are burdened by excess code that can really drag down your site speed. We’ve worked hard over the years to keep our plugin as light as possible, while still delivering peak performance, so it bothers us to see others failing to do the same. If you’re not using a plugin, uninstall it, and if you’re not sure which plugin is contributing to the poor performance, perform a conflict test to find out.
2. Your theme is bloated.
The theme you choose matters, just like plugins. If you’re using a theme with lots of built-in features, and no options to disable them, all that extra script can slow down your site significantly. If you’re planning to scale your course to support thousands of learners, start wisely by choosing a lightweight theme, or else a theme that will allow you to turn off features you aren’t using.
3. Your files sizes are too big.
Do you have a lot of images on your course? Nothing wrong with that—so long as you’re using web-friendly formatting. Many users upload files that are several orders of magnitude larger than what they need for their site, and this means they take longer to load. Before you upload an image, save it in a web-friendly format. Your image files should be measured in KBs, not MBs.
4. Course pages are too long.
If you have an exceptionally long course page, it can also lead to load problems. It’s also not as useful for your learners. Instead of having dozens of steps on one page, you and your learners would be better served by breaking down the content across a few pages. You could even add some short review quizzes to the page to help learners remember the content, if the page is especially lengthy.
LearnDash can handle large numbers simultaneous users—with the right supporting infrastructure.
The bottom line is that LearnDash can scale to handle your user-load, but only if you have invested in the right backing framework. This is true for any site that operates at scale. Without devoting resources to hosting and other optimizations, your site will slow down and eventually time out.
We’ve put a lot of work into building a plugin that performs well under pressure. We don’t want to be the factor that limits your ability to grow you education platform. Instead, we want to be the tool that makes your course growth possible.