Moodle Customization Project/Updates on Moodle Performance
For the past two weeks or so, we have been working on improving various aspects of the website to optimise it as much as possible. We have done this using the official recommendations from Moodle, and also from various forums, and using our own knowledge and experience. We have done the following:
- Installing PHP Accelerator on the server (APC).
- Configuring the Server and Moodle to allow more requests.
- Optimised Images with compression.
- Code optimisation to implement less database calls, and server load.
- We have installed a new module on Moodle that will give us statistical information on page views, and others.
- Using all these techniques, we believe to have significantly lowered the load times. However we also believe some additional steps by the staff can be taken to make it better. Here are our observations and suggestions:
One of the biggest issues right now is that, each course page has a lot of content. This includes from 50-80 different contents, such as pdf, images, videos etc. Therefore, the load times of these pages are very high. It is possible to divide these into separate “Topics”. This is a feature in Moodle, which I am assuming the staff is aware of. Breaking it down into topics, means, that the course page only shows links to the topics. When a user clicks on a topic, a separate page is opened, which has contents of that topic only. As you can understand this leads to smaller page sizes, and faster load times. We think this is important, and should be implemented.
As per discussion above, right now each page is putting a lot of load on the server. Each page is showing as a huge process in Apache, and therefore reducing the number of users that can be served.
We have up to 30 processes within a time frame of 15 minutes. This is high enough (and with the “one page layout described above) stressing the server.
We will share the statistical report with you in a few days.
Therefore we recommend:
- Changing the way the Course Pages are laid out. (Using individual Topics).
- Increasing cache sizes and php memory.
Please let us know if there are any questions or suggestions. We have completed our side of the optimization and would be happy to help you out as well.