THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

The Rambling DBA: Jonathan Kehayias

The random ramblings and rantings of frazzled SQL Server DBA

Working with Sub-Optimal Disk Configurations (Making the best of what you’ve got)

This is the first post in a what will be a series of posts on working with a sub-optimal disk configuration to squeeze as much performance out of it as possible.  You might ask what a Sub-Optimal Disk Configuration?  In this case it is a Dell Powervault MD3000 with 15 Seagate Barracuda ES.2 SAS 1 TB 7.2K RPM disks (Model Number ST31000640SS).  This equates to just under 14TB of raw storage that can configured into a number of RAID configurations.  In this case, the disk array was initially configured with two RAID 5 arrays utilizing seven disks each for a total of 12TB of usable storage.

Why do I call this a Sub-Optimal Configuration you might ask?  The answer is simple, its the most space possible at the lowest cost possible, unfortunately using the slowest disks possible in a SAS configuration.  While this might yield twelve terabytes of storage, it has a very limited number of potential IO’s per second.  Using the default configuration from the graphical user interface of the MD3000, the following results were recorded for one of the RAID 5 disk arrays using SQLIO for testing:



By comparison, the same server with a four disk RAID 5 array using Hitachi UltraStar 15K450 SAS 450GB 15KRPM disks (Model Number HUS154545VLS300) using the default configuration from the graphical user interface, the following results were recorded:



These numbers were from a Windows Server 2003 R2 Standard Edition installation that had default partitioning, and was in production use in the listed configuration prior to being rebuilt for optimized performance.  Both of the above disk arrays had misaligned partitions, and neither was formated using a 64K allocation unit size, so immediately these items stand out as areas for improving the IO characteristics of the arrays, but its significant to point out that a disk array that has three fewer disks is performing significantly better than the seven disk RAID 5 due to the increased spindle speed (RPM’s) and lower seek times.

In the next post in this series, I’ll start stepping through how I’m tuning the MD3000 array to get the most performance possible from it by using the command line tools, and why the graphical user interface is not ideal for configuring this type of array for SQL Server.

Published Tuesday, April 27, 2010 10:50 PM by Jonathan Kehayias



Greg Linwood said:

Thee first config seems to have better random read performance, which is what you really want out of RAID5.

It's important to remember that writes are cached by the buffer manager & persisted on a lazy basis so write performance doesn't impact update queries directly, though it does impact recovery interval.

Putting a TLog on RAID5 is obviously the wrong thing to do, but there's nothing wrong with putting data files on RAID5, assuming you've got a reasonably sized cache.. If not, you end up mixing reads & writes which is dangerous on RAID5 but this is far better dealt with by adding cache.

There's little value comparing sequential read or write performance on RAID5 unless you're actually looking at putting your TLogs onto the RAID5 array..

April 28, 2010 3:20 AM

Neil Hambly said:

Also have an MD3000 on one of my Testing DB Systems.

Can you let me know you SQLIO settings, did you use a batch file, I would like to do comparison tests on my system to see how it fairs. Although could easily set up SQLIO to do this, I'm feeling real LAZY today ;-)

April 28, 2010 5:22 AM

Glenn Berry said:

Nice post Jonathan. Any reason why you cannot upgrade the OS to Windows Server 2008 R2?  

April 28, 2010 8:11 AM

Eric Wisdahl said:

Looking forward to this series as I should be able to point it out to my boss / engineering team.  Or disk systems are currently configured very poorly :-(

April 28, 2010 11:31 AM

The Rambling DBA: Jonathan Kehayias said:

Yesterday I happened to catch Brad McGhee’s ( Blog | Twitter ) tweet about receiving a new MD3000 DAS

July 8, 2010 1:46 AM
Anonymous comments are disabled

This Blog


Privacy Statement