Hi all. I've encountered a very strange turn of events--don't get me wrong, I'm not complaining (I won't look a gifthorse in the mouth)--but I was just hoping for some explanation.
A few months ago, we performed upgrades to our web servers (several lighttpd/PHP app servers and one beefy MySQL server). These upgrades required that we upgrade Moodle, so we upgraded to 2.0--and in terms of performance, it was a bit of a disaster. Courses, resources, activities, virtually everything on our Moodle installs slowed to a crawl. We thought it might have been because of the db engines for our tables, so after a few days we tried switching from MyISAM to InnoDB... Didn't help, so a few days later we changed back.
Frankly, we were kinda bummed about it. We should have more than enough hardware to handle Moodle at our loads (practically idle)... So we resigned ourselves to the fact that it would be slow, and left it alone for a while.
Now, a few months later, we were planning on giving Moodle a try with Postgres... Only to find that our install seems to have "fixed" itself and is running quite smoothly.
I'm just wondering... Is there a reason that Moodle would have sped up over time? Like, does 2.0 do something to clean up old data, and now that it's been done, it's going to run better? Or is this just some inexplicable anomaly?
We're still considering switching to Postgres, but if we can rely upon these improved speeds, that might change our timeline. Thanks.
Aside from the obvious things to check like whether were you performing any background tasks before - e.g.:
* disk resync
* database backup
* serving other sites
There's nothing specific that I'm aware of in Moodle which would make that kind of difference to your performance. Over time, Moodle does cache a variety of content so that it's not generated each time:
* language strings
but that's unlikely to make a massive hit.
On a related point, I highly commend your choice to move to Postgres. Nearly all of our installations run on Postgres and I personally think that it's a far better choice of Database. Don't forget to tune Postgres (see the wiki article on tuning and the Postgres tuning Wiki).
Obviously something has changed, machines don't get stronger with age!
You say, "a few months ago". Was your test server on a different URL? Is it still? I'm thinking of DNS-, Apache- and Moodle-configurations.
Then you changed from MyISAM to InnoDB. How? Over db-dumps or the Moodle built-in tool? Is it possible, that somebody has repaired corrupted tables in MySQL? "Few months" is a long time, specially if you don't document the changes or more than one person work on it.
BTW, you haven't installed 2.x twice, but still testing the initial 2.0?
The rate at which new Moodle versions started to appear suggests to me that the developers want to leave 2.0 and 2.1 behind. May be you should start investigating 2.2 straight away.
Nope, no background tasks to speak of; no changes in DNS, lighttpd, or Moodle configs. The servers do also handle our website, but the website is cached up the wazoo and places practically no load on the app or data servers.
DB engine switch was done through our server db console, not Moodle; but we switched back to MyISAM again after a few days. And yeah, we're still running 2.0, haven't upgraded. Moodle is not a big project for us, and its few users are reluctant to change, so we tend to leave Moodle alone as much as possible. A "few months" is no time at all for us, because we just don't touch it.
Yeah, none of the obvious explanations for a speed-up seem to apply. I told you it was "mysterious". Since I can't rely on these speed increases, we will go ahead with our switch to Postgres. We are looking at 2.2 as well.