I have several virtual machines running in my current setup, offering various services. This is not a bad thing per se – in fact, it increases security by encapsulating services a bit. On the other hand, I ended up with a huge mass of MySQL instances serving one or two databases. And this might come in a bit unhandy in terms of performance.
MySQL servers can be a bit bitchy when it comes to I/O, CPU power and RAM usage.
To get around the problem I set up a dedicated MySQL machine and moved all of the databases around onto it. You cannot imagine how many dead databases and records you may find while doing such a spring cleaning. Monitoring the new machine, I did some tuning on the MySQL server and you won’t believe the performance boost my sites and services got. That way the SQL Server got enough memory easing the load on the other machines.