We are currently running moodle with multiple front-end webservers (serving out of a shared storage SAN) and a networked MySQL server on the back-end. The load on our MySQL server is getting a little high* during peak usage (multiple classes in labs taking tests simultaneously), and we're planning on aggressive growth over the next few years. We've got some money ear-marked for upgrades this year, but given the coming budget shortfalls in the state of California, we're not expecting to have the fiscal resources for upgrade over the next few years.
We're planning on rolling out a MySQL cluster to replace our current single-server database**. We'll be rolling this out in 3-4 months, but wisdom (obtained through last minute panic, admittedly) suggests we should begin our planning now. I'm attaching a graphic to show the current proposal (since a picture is worth a thousand words, it should explain things better than I can). We're planning on using MySQL 5.1, as it should be finalized by then. The blue lines indicate a 1GB ethernet network, and the green lines denote our 1GB Fibre Channel SAN links.
Does anyone else have experience upgrading to a MySQL cluster, and can you offer any advice on either: a) things to do, or just as importantly, b) things to avoid?
Thanks in advance!
- Kevin Metcalf
* Our scraping of the CPU usage over time shows we are above 80% utilization during peak times. This usage spans 5-10 consecutive minutes, which tends to make me nervous.
** Technically, we have a master-slave replicator setup, but we only use the slave for backups (you don't have to take the master down), and for "emergency promotion" should the master ever fail.