Until the end of the academic year we had been running moodle 1.5 with no performance issues. We decided that during the school break we would upgrade to 1.8 for a few of the new features.
The features are great but hit us a lot on performance. Running 1.5 we often had over 50 users using the site with out even thinking about a performance hit. After upgrading to 1.8 with only 3 or 4 staff using the site as the students are on holiday we had to upgrade the VPN and are still getting extremely long page loads and high processor usage/server load.
I have read lots of issues about this on the moodle site and we are just curious how much of a priority the performance fixes are for the developers. There are a lot of people suggesting changes but after setting up a fresh install of the most current moodle and using a copy of our active data the performance of the moodle is not any better than ours.
We need to make a rash decision this week to either keep 1.8 or revert to 1.6. (Other versions performance stated below), we still have a copy of the DB before upgrading and haven’t made any huge changes after implementing 1.8 so this should be fine.
Are there any clues about what fixes are going to be implemented in the 1.9 release performance wise and is there an expected release date at all?
Are any other moodle users experiencing the same issues and considering reverting back to a previous version before the schools go back there is a heavy stream of users using the site again?
Testing results (1 request per second)
Moodle 1.6 - this seems to be very efficient, and 1 request per second is hardly noticeable on processor load on the web server. With regards to the database server I couldn't actually tell anything was running.
Moodle 1.7 - this gets a little less efficient, sitting the processor at around 10% with the same 1 request per second, again the database server has no load.
Moodle 1.8 - here is where we hit issues - With no data in the database, doing 1 request per second sits the CPU up at around 60%. The database server again isn't noticeably used.
As the database server is running on its own dedicated server, with high speed drives, lots of ram, and is well optimised for mysql we hardly ever see the load go above a few percent, therefore the tests being done on moodle may well have been doing 100's or 1000's of queries, but due to the setup they may have been being done so fast that it wasn't noticeable.
According to Moodle's documentation a rough guide to the number of users is 50 times the amount of ram in gig - the server I installed these on has 2GB of ram, so in theory should be able to cope with 100 users. I'm not sure how often they expect users to click links, but 1 click per user every 5-10 seconds isn't out of the question if they are navigating to a course - so going on my tests above, 100 users would be fine on Moodle 1.6, and probably 1.7, but on 1.8 I probably wouldn't want to run more than 30-40 users on these test results.
So going by this it looks like he problem is with the php itself and no the queries on the database we previously assumed.