Hard Disk Configuration (10K vs. 15K, 4 vs. 6 vs. 8 etc...)

We’re about to purchase 2 poweredge 2950 to run in a MMM setup for a php web application. The read/write volume is 70/30, however there are a couple of fairly intensive read queries that can take .5-.6 seconds on fairly equipped servers.

The question now is what type of drives/raid setup to go for, specifically:

  1. How big a difference will 15K vs. 10K drives make in a raid 10 setup (Perc5). 15K are FAR more expensive, are they essential?

  2. How big a difference will 8 vs. 6 vs. 4 drives make performance wise in raid 10 setup?

  3. How big a difference will 2.5" drives vs. 3.5" drives make?

We’re contemplating many different setups, while also trying to be as conservative on the finances as possible.


A couple of basic questions that might help with this:

How big are the databases? How much RAM will you have in the machines?

The more data you can store in memory via buffers and caches, the better off you’ll be. Generally speaking, more RAM is better, especially as your database is read-heavy. As much as possible, you want to avoid reading from disk. When you do wind up reading from disk, the 15K disks will make a difference, though I don’t have a feel for exactly how much more performant the 15K disks will be.

I don’t know how well the Perc5 cards scale to multiple disks, but spreading the i/o load over more spindles is a good thing. Spreading load over multiple striped disks improves overall performance linearly. 2 disks can provide double the performance of a single disk, or in a mirrored config, 4 disks can double the performance of 2 disks. If your storage needs are light, you’re better off to have more smaller disks than fewer larger ones.

2.5" v. 3.5" disks are functionally equivalent assuming spindle speed, cache, and back-end interfaces are identical. If you’re looking at buying 15K 3.5" SCSI drives vs. 10K 2.5" SAS or SATA drives, the equation changes dramatically, however.

Can you post any relevant stats for your database? The output of a mysqlreport (http://hackmysql.com/mysqlreport), for instance, the current performance specs of your existing db, etc.

We’re starting with 8GB of ram possibly upgrading to 16GB if needed. The DB is very small now (less than 100MB), and baring ridiculous growth over the next 6 months, i dont foresee it becoming much larger than a few gigabytes in that period.

There’s really no existing performance numbers because hte site is not yet live yet. Im mostly trying to get a gauge of whether its commonly accepted that getting 10K drives is very sufficient in high performance environments with quad-core procs, or whether 15K is a generally much wiser move (even if it means 4x15K disks as opposed to 6-8x10K disks).


I agree with mwallace, if your database is smaller than RAM basically all data will be cached in RAM and the speed of the disks will basically be negligible.

Basically the only critical thing that will be written to disks in these cases is if you run InnoDB and you want to keep the transaction log to be flushed to disk after each transaction (default setting for compliance).
But since you have the battery backed up PERC5 controller which will cache the writes for you, you don’t need the faster disks for this either.

In my opinion there is nothing wrong with choosing slower disks on your server if you know that the bottleneck is never going to be the disks. Which is the case with very small DB’s.
That way you can invest more in CPU’s instead if that is your limitation.