« Damian Conway in Boston this Coming Monday | Main | Guide to Incompatibilities when Upgrading MySQL to Version 4.1 »

September 28, 2006

Bare Bones OS for MySQL?

While laying in bed last night thinking about getting started on a project that requires getting a fresh MySQL clustered database up and running I got to thinking. What is the best OS for MySQL from a minimalistic point of view? If you're starting from scratch to set up a server, or farm of servers, to run MySQL and can choose any OS, what do you choose?

I'm going to venture that it's a Unix variant, perhaps a flavor of Linux? There's a lot to think about in terms of what types of data and how the application will use the database, but from a general point of view where would one start? Let's suppose that the hardware is your typical generic AMD/Intel with high-end SCSI disks.

I'm thinking about things like:

My experience running MySQL is on Solaris, Red Hat/Fedora Core Linux, Gentoo Linux, and Mac OS X. I'd guess that RedHat/Fedora will automatically get thrown out because they are built for the masses and while you can install minimally, the kernel is built to support everything under the sun. If I'm running on generic AMD/Intel hardward OS X isn't an option and I'm inclined to rule out Solaris.

That leaves me with Gentoo, or considering something I haven't used before. Perhaps FreeBSD? The popular Linux flavors these days seem to be Ubuntu and CentOS. Have little experience with either, but it doesn't seem like the buzz on the street about either is centered on performance or minimalism.

Now that I've actually thrown this all down into sentences I wonder if it's even worth the trouble of finding and paring down an OS to find the most optimal footprint? The tradeoff is that I'll be in new territory, introduce any number of uncertainties, and in the end wish I would have stuck with something I know or that is well-used.

But it's always good to be thinking about this. Someday (unless I missed it) there will be a MySQL-optimized Linux/Unix installation that has everything you need, but nothing more. I wonder what Pogo Linux was doing for the MySQL appliance they were shipping a few years back (don't see any information about the appliance on their site now). Looks like the Pogo systems ship with either Red Hat, Fedora or SuSE. Perhaps they didn't do anything special, but the press releases seem to indicate the system was tuned for maximum performance.

I'll have to spend some time diging around Peter's blog to see what information is there. I'm pretty sure there was a presentation in one of the recent conferences comparing Linux distributions for MySQL performance.

Posted by mike at September 28, 2006 8:43 AM