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
- Performance can be greatly improved by allowing Moodle to use the system zip/unzip commands (rather than PHP-based zip libraries) - visit Admin/Server/System Paths and enter the path to the relevant executables. (Similarly, filling in the path to du will improve Moodle's speed at listing directory contents.)
- 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).
- If there are performance problems loading course pages, check the Resource module settings. The setting resource_filterexternalpages is known to slow-down course pages and should be set to 'No' for better performance.
- 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: