Various performance settings can be changed by an administrator in Settings > Site administration > Server > Performance.
Other site administration settings which may affect performance
- Enable the language cache.
- Large log files can cause overall performance to degrade over time. If you observe that the site has gradually got slower loading pages in the browser, reduce your Log life time setting in Settings > Site administration > Server > Cleanup
- Note that using secure web connections (https rather than http) carries a higher processing burden, both for the webserver and the client - particularly because cacheing cannot be used as effectively, so the number of file requests is likely to increase dramatically. For this reason using https for all Moodle pages is not recommended. You can enable https just for the login screen, simply from Moodle's config page.
- Check your filters. Having too many filters active can have serious effects on server load, especially on lower-end systems. The number of active filters has a direct effect on the perceived latency of your site; that is the time taken for each page impression.
- Enable the text cache but do not "Filter all strings" unless you have a specific need. If in doubt profile the performance, and see how your changes affect the processing time.
- Check your anti-virus measures on the server. Although they are useful for preventing security holes being exploited, some "On-Demand" scanners can affect performance by scanning page content (word, ppt files etc).
- Check your forum settings. To improve performance set forum_trackreadposts = No and forum_usermarksread = Yes (this will impact on the convenience of your users' forum experience). Also consider setting the time of the day when old posts are cleared from the read table (forum_cleanreadtime) to when your site is less busy.
- Don't use database sessions unless you really need them. On-disc sessions tend to be much faster.
config.php settings which may affect performance
Increasing the value of CONTEXT_CACHE_MAX_SIZE may reduce the number of database queries for certain pages. It will also increase memory usage, so be careful.
// Moodle 2.3: Increasing this from the default saved about > 1000 db queries on the course/index.php page for
// a Moodle having 1250 course categories.
// This value is specified in lib/accesslib.php, but it's OK to add a define for it in config.php:
- setting innodb buffer pool from 100mb to 3gb resulted in outstanding performance.