By the Edwiser Team. Updated on May 13, 2020
Fed up with the slow loading times of your Learning Management System? Then it is imperative that you boost your performance game. Despite common beliefs, LMS aren’t necessary slow. Unfortunately, low-performing LMS are abundant. The reason is simple: Poorly set up and managed installations. Yes, expert support will dramatically improve your site’s performance. LMS like Moodle have shown time and again to be able to provide fast, efficient and highly reliable experiences to hundreds of thousands of users concurrently.
But you don’t need an expert to take advantage of the essential performance tools available for you.
The learners of our fast-paced times are smart and tech-savvy. Yet, there is a downside: Lack of patience. For them, a slow website is as good as no website. You cannot afford to have slow-loading e-learning. This is true for all internet: Research indicates that 40% of people will leave a website if it takes longer than 3 seconds to load.
With the dwindling attention span of students, it is advisable to optimize and “boost” your site load time to prevent unnecessary drop-offs.
5 simple ways to reduce load times
Making changes to the server may not be possible every time, at least at the educator’s end. Not every teacher has the technical understanding of tweaking servers to fix the high load time issue. And not all LMS let you look under the hood and tinker.
This is true especially when the site is hosted on a third-party server. However, there are some non-technical fixes that the teachers could perform on their site without tampering with the server.
Here’s what teachers could do.
1. Only use necessary filters and features
Multiple active filters could impact server load. Therefore, it is wise to disable all those filters and features that are not frequently used by you and your students. Consolidating features into flexible and compact plugins or addons will do wonders for your experience.
For instance, the Multi-Embed filter in Moodle is a great plugin to embed third-party content by simply copy-pasting the URLs into the Moodle content. This plugin converts URLs from supported services (Google Docs, YouTube, Quizlet etc.) into embedded content, without any user input. Sounds awesome to me!
But the bad news is: While it works wonders for your Moodle site, it eventually slows down page load. Thinking of the solution, you could use Lazy Loading to deal with this where only a part of the web page that is on high demand or is requested, loads first. Something along the lines of ‘infinity scroll’ – you won’t see the content unless you need it or scroll down to see it!
2. Resize images before uploading
No doubt, images help with improving appeal, navigation, and clarity. But images, especially the high-resolution ones can directly affect the page loading time. Image loading takes up a lot of bandwidth. This makes accessing the course difficult for your students and they are less likely to stay engaged or motivated.
Hence, we recommend resizing images before uploading them. You could use an image optimizer filter plugin to prevent images from becoming a site load drag. You can even add a link to the images without uploading them, it serves the same purpose and helps reduce overall load time.
3. Remove low-use, high-maintenance addons
The recent activity block gives teachers an insight into the activities done by the students as part of any course, instantly. It gives them a clear idea as to who is doing what with respect to activities involved in the course. Unfortunately, the majority of teachers do not make proper use of it in their teaching. It affects the site loading time. It is recommended to remove this block to improve the page load speed.
If you believe it is a crucial functionality on your site, and wish to retain the recent activity block without slowing down your site speed, you could again try for a bundle of several features. Moodle themes often come with neat bells and whistles that are light on your server. This Edwiser RemUI theme, for example, displays “Recent Courses” as a drop-down menu, with the least amount of disruption to page load time.
4. Reduce the number of elements that appear on a given course.
You might want to consider this one if your server is drastically slowing down. You could have one section per page in the course layout, instead of all sections in one single page. Let your server take it easy and this also could work to bring down the page generation time.
5. Keep the number of active assets to a minimum
What’s true for your server is also true for your students’ minds: Less is more! Course pages with all the blocks displayed will take more load time as well as more RAM. We would advise you to only retain the required blocks on your course pages.
Avoid irrelevant blocks to prevent futile overcrowding of blocks. This does nothing except for putting an extra burden on the server. Therefore, it is best to only add those blocks that support your courses and teaching.
Having limited yet relevant blocks for learning is more likely to keep confusion for students at bay. A nice way to increase engagement, isn’t it? Too many irrelevant blocks can cause too much confusion. Eventually, clear beats clever. Instead of displaying all the blocks, displaying only the absolutely beneficial ones is recommended as it would provide more clarity.
Bonus: Consider cutting down on the number of resources, and activities
You might not be willing to mess with the default structure of your course. Many times it simply is not possible for you. But if you can, just consider this. More compact courses have several productivity and psychological benefits. Think about the activities that you are using, as there might be a simpler alternative right within the LMS.
The more the number of activities and resources, the more time and RAM the site consumes. Instead, it’s a good idea to use folders or experiment with various core activities: Wiki, Database or Books (depending on your LMS) to tackle this issue.
If the above basic to-do list doesn’t make any difference, it’s time for the technical guys to chip in and dig deeper.
Checks on the Technical or Server Elements
1. Hardware Configuration
The system administrator should attempt to increase the amount of RAM/primary memory. This will enable the server to handle more users.
Your RAM on the web server plays a pivotal role here. It’s the core that is ultimately connected to your site speed and overall performance. Moodle for example can sometimes take up a lot of memory per process, sometimes as high as 50MB or even more! So when in doubt, more RAM. You could also buy cheap web servers and instead invest in more RAM. RAM Using SCSI disks instead of SATA drives is recommended.
Moodle recommends 1 GB RAM for every 50 concurrent users and a minimum free disk space of 500 MB to store your teaching material. This is a norm that can be used to benchmark other LMS. However, it makes sense to consider the entire combination of your hardware and software elements, to make a well thought-out plan for your site, especially if it is going to be a large and complex one.
But we can go into extra detail! You can analyze what kind of activity your users are doing on the LMS. Users simply reading from the website won’t create a burden on the server. Mobile LMS apps with offline learning feature can actually be a great way to lower server demands. In any case, different users performing different activities would definitely exert different types of pressure on the server.
Let me share with you a geeky secreet: A RAID controller.
A RAID controller can be a hardware device, something like a RAID card or it could even be a software program. It primarily manages the HDDs (Hard Disk Drives) and SSDs (Solid State Drives) in a PC. The operating system and swap drive could be set up on one set of disks configured as RAID 1, whereas the LMS application and the database server could be set up on another set of disks configured as RAID 5. These steps could effectively help to optimize your site load time.
2. PHP performance
Use a PHP accelerator to reduce the load on the CPU, for example, APC, WinCache, etc. You need to ensure that the accelerator is compatible with your PHP version. Similar tools are available to all popular languages.
3. Apache performance
A struggling HTTP server can slow down a site or even cause it to crash if the load shoots up. Use the latest version to avoid this. Your LMS may not run in Apache, but it is the gold standard.
4. Database performance
First things first, calculate how much storage space is used by your database. Most LMS generate website pages “dynamically,” meaning the do not exist until they the user makes a database request.
When a page loads in response to a specific user request, the application reads data from the database and also writes to it. But the database is stored on the disk. The higher the speed of the read/write process to or from the storage, the better.
The faster the storage, the faster your site will be. RAM is faster than disks, so use as much RAM as possible.
5. Set up a Content Delivery Network (CDN)
A CDN is a network of geographically distributed web servers. The primary server holding the main website content is connected to a bunch of surrogate servers. A CDN helps speeds up the site load time. You could implement a CDN for your LMS if affordability is not a problem.
The surrogate servers carry the replica of the original server content. On user request, the nearest server responds and provides the user with the requested content. The load on the main server gets distributed on multiple other secondary servers at different locations, delivering content much faster. This process automatically reduces page load time and could improve many other performance indicators.
These were some of the tips you could use to better boost your elearning, literally and figuratively. You will be able to provide a better experience, decrease load times and optimize the use of resources. An integrated and holistic effort of educators, system administrators, and administrators can help with effective optimization.
Another tip before signing off…
What if you had prior knowledge of what could happen on your Moodle site? This would be valuable and help you take proactive decisions. Edwiser Site Monitor does exactly that for you. It helps you track your performance parameters and stay on top to cut down on embarrassing student drop offs.
So team up and let this process not overwhelm you. Also, we’d love to know your tips. Tell us how you would prefer to fix your slow Moodle. Got anything on your mind? Enlighten us! Let us know in the comments section below. We are here to hear you out.
Edwiser is a sponsor of LMSPulse.