Page 1 of 8 Share 1 More Next Blog» Create Blog Sign In T H E O P E N S O U R C E E L E A R N I N G B L O G A D I S C U S S I O N O F O P E N S O U R C E E L E A R N I N G T O O L S C O V E R I N G M O O D L E, A L F R E S C O, M A H A R A, J A S P E R S O F T, A N D E L I S A M O N G S T O T H E R T E C H N O L O G I E S. P O S T S R A N G E F R O M I N T E R E S T I N G A N E C D O T E S A N D A D V E N T U R E S, T O P R A C T I C A L T I P S, T O B I G P I C T U R E D I S C U S S I O N S O F T R E N D S A N D L E A R N I N G T H E O R Y. M O N D A Y, O C T O B E R 8, 2 0 1 2 A B O U T M E Why Your Moodle Site is Slow: Five Simple Settings Here are some simple settings that any Moodle administrator can change from the Site Administration menu that will help to improve his/her Moodle site's performance. Some of these changes come at the cost of functionality, so sometimes you have to pick between a particular feature and performance (or a faster server), but often these settings are just enabled out of curiosity with no discernible reward other than a slower site. A U T O M A T E D B A C K U P S E T U P Disable Automated backup setup for courses by setting Active to disabled in the pull down menu. The Moodle course backup and restore feature, while a convenient mechanism for moving courses between Moodle sites, is not very efficient. As the number of courses and the size of the courses on your site increase, the scheduled course backup process takes longer and longer to complete. This can cause extreme site slowdowns while it's running. Additionally, it makes it harder for your server's backup system to complete its own nightly backups. JONATHAN MOORE I am the CTO at Remote Learner (http://remote-learner.net). We specialize in Moodle services: hosting, training, support, and custom development. Remote- Learner currently hosts over 3,000 Moodle sites, with over 12 million registered user accounts. I coauthored Moodle Extension Development with Mike Churchward. Follow me on twitter VIEW MY COMPLETE PROFILE B L O G A R C H I V E 2013 (1) 2012 (1) October (1) Why Your Moodle Site is Slow: Five Simple Settings... 2010 (8)
Page 2 of 8 F O L L O W E R S Join this site with Google Friend Connect Members (16) Site administration / Courses / Backups / Automated backup setup Already a member?sign in Many users mistakenly view this as a way to restore their Moodle site in the event of a disaster. While it's possible to use these course backups to restore most of a site, it's not ideal or guaranteed to work when you need it. Disaster recovery backups should be performed outside of the scheduled course backup feature. S T A T I S T I C S Make sure Enable statistics is unchecked. Many administrators discover this setting and turn it on simply to see what it does. A common scenario is that a site will be performing well for a year or more and then suddenly experience problems when this setting is enabled. This setting includes options for how long to allow the statistics gathering to run in one session and how far back to process. If you must run statistics make sure to limit how long you allow the process to run. I recommend letting it run no more than 2 hours per session.
Page 3 of 8 Site administration / Advanced features Upcoming versions of Moodle may have an improved version of statistics that should reduce the load on the server's database by several orders of magnitude. So if you really need this feature, keep your eyes on MDL-30643. T H E M E D E S I G N E R M O D E Disable Theme designer mode on production Moodle sites. Theme designer mode is a great Moodle version 2 feature, if you are updating your theme and want to quickly see the impact of changes. It does this by having the Moodle server tell web browsers to not cache any of the images, css, and javascript that make up your theme. When this feature is enabled, every page view for every user must download every media object directly from the Moodle server. This makes viewing pages very very slow and greatly increases the load on the server. Administrators often enabled this to update their theme and then forget to turn it off. The best practice is to develop your theme on a testing site and then move it over to production only after it has been completed. Site administration / Appearance / Themes / Theme settings C L E A N U P Set Keep logs for and Grade history lifetime to 365 days or less. By default Moodle will keep both your logs and grade history forever. For long established sites, these logs start to become the majority of the database. I have seen cases where log tables consumed 90% or more of the database. As a general rule the more of your database that fits into your server RAM the faster your database will perform. By limiting the size of these logs, you can make your site much faster.
Page 4 of 8 Site administration / Server / Cleanup Note: If you have a really large log, it may make your site even slower while the cleanup runs. Consider changing this setting during a lowuse time or during a maintenance window. In extreme cases, it can take several hours for the cleanup query to complete the first time. S E S S I O N H A N D L I N G Disable Use database for session information by unchecking the box. Starting with Moodle version 2 and above the default setting is to have database sessions enabled. In our infrastructure, we have seen much better performance using file based sessions rather than having the database handle them. This is dependent on the server setup, but it's worth disabling to see if your performance improves. Site administration / Server / Session handling
Page 5 of 8 P R O - T I P S Below are some additional tips that take a bit more effort, but provide additional benefits related to ensuring great performance for your Moodle site. Running multiple simultaneous manual course backups can sometimes cause problems. Avoid creating situations where many course backup / restores need to run at the same time. This is a common problem for the start of a new school term. Often instructors will be asked to duplicate their prior courses for the new term. Moodle doesn't provide any internal mechanism to queue backup requests so that they don't overwhelm your server. If enough instructors are doing this at the same time, it can make a Moodle site nearly unusable. While all of these settings can be accessed from the Moodle interface, if you want to really make sure none of your site administrators accidentally sets one of these incorrectly, enter the desired value in your config.php file so that it cannot be enabled accidentally. Consider starting with a clean install of Moodle once a year to have the smallest database footprint and ensure the best performance for your site. POSTED BYJONATHAN MOOREAT11:01 AM LABELS:MOODLE,MOODLE ADMINISTRATION,MOODLE PERFORMANCE 7 COMMENTS: Faizal Rahman October 9, 2012 at 10:50 PM Thanks for sharing this. I'm running moodle at ppgusm.com. khaled October 10, 2012 at 2:30 AM Hello all, I disabled "Use database for session information" to improve speed. This rendered my moodle site completelty unreachable with the message: "The session partition is full. It is not possible to login at this time.
Page 6 of 8 Please notify server administrator." Could anyone help me with this issue K. Baloul Jonathan Moore October 10, 2012 at 8:05 AM Hi khaled, There are a couple of likely causes for the error message "The session partition is full. It is not possible to login at this time. Please notify server administrator." You will need direct access to the server hosting your Moodle site to repair. 1) The partition is really full. Look in your config.php file for an entry that starts $CFG->dataroot = This will tell you where your Moodle data folder is stored. By default sessions will be stored in a subfolder called sessions. If it is you will need to clear out some space. As a temporary fix you can probably delete the cache folder to safely get enough space so that you can login and change the setting back while you work on a longer term solution to the storage space issue. 2) Permissions or ownership problem. These normally will display different error messages, but I have occasionally seen incorrect permissions and ownerships on this folder be misidentified as the partition being out of space. Double check that your web server process has write access to the folder listed in your config.php. For most setups this will mean that the folder should be writable by the owner of the apache or httpd process. Another way you can get your site operational is by directly accessing your Moodle database. You should be very careful when accessing the database directly and this is best done by someone experienced with database. You will need to access the database listed in the config.php with either administrator credentials or the credentials listed in the config.php. You will want to edit the config table with the default setup this will actually be called mdl_config. You need to edit the row of the database with the name field set to 'dbsessions'. It will have the value field set to '0'. You need to edit the value to be equal to '1'. This will revert you back to database sessions. Another side effect of the error you are seeing is that none of the site users are likely able to upload files into the site. Hope this helps and sorry to hear that your site is down.
Page 7 of 8 jldugger October 23, 2012 at 4:25 PM I would really love to have an answer to the question, in concrete terms, "Why does moodle use locking on DB sessions"? It's super depressing how one classroom quiz can drop our entire infrastructure to a crawl... Paul Vaughan November 12, 2012 at 9:54 AM Thanks for the post. We wouldn't dream of turning off automatic backups (but then they don't run during the day so they're not a problem, same with statistics), but one thing I'd not considered is the location of user sessions. I've just moved user sessions from the database to disk and have seen a massive and very welcome drop in page-load times. Thanks for the heads-up! Paul. donald paul December 13, 2012 at 2:04 PM Nice posting!!! Slow Server Eric February 7, 2013 at 1:41 PM Hi Jonathan, What sorts of statistics are included when Server->Statistics is enabled? Eric. Comment as: Select profile... Publish Preview
Page 8 of 8 Newer Post Home Older Post Subscribe to:post Comments (Atom)