RAID and Its impact on your SQL performance

  • Very useful information, and working and OLAP Db's I've often considered read performance to be of higher importance than write performance.

    The reason for this is that you are generally write loading the disks out of standard operating hours when infrastrucutre is relatively unused, so the consideration of disk writes is a a lower priority.

    Conseqently I generally like to set up data/index drives to be Raid 5, with system Db's and Logs on raid Raid 1+0.

    I wondered if this thinking was still relevant in regards to the article, or do I need to consider a complete rethink.

    _________________________________________________________________________
    SSC Guide to Posting and Best Practices

  • If your lazy write can clear the write buffer quick enough to make space for new incomming write requests, then that would be fine. But if new write requests come in at a rate that is faster than the lazy writer can clear the write buffer, then you will be in trouble. So if you have a high volume or large write request queue you would require a higher performance write.

  • For SSD Raid 1+0 configuration I have been advised by our hosting company that the total storage space is different than for traditional drives. My understanding is that storage space on "traditional" Raid 1+0 would be half the total size of the disks in the array (ie there are 6 x 150GB disks in the array, the total storage space is 3 x 150GB = 450GB). However, I have been advised that on SSD one "loses" only one of the drives (ie if there are 6 x 150GB disks in the array, the total storage capacity would be 5 x 150GB = 750 GB). Is this correct, and if so, why is it different?

  • gert,

    That sounds wrong, I doubt SSD's would be treat any differently to traditional drives when putting them in a raid array.

    If im wrong I'd love to know why SSD's are different.

    _________________________________________________________________________
    SSC Guide to Posting and Best Practices

  • Here's a good article that explains the fault tolerance difference between RAID10 and RAID01 - as also mentioned by another reader. http://www.thegeekstuff.com/2011/10/raid10-vs-raid01/

  • gert.j.kruger (5/2/2012)


    However, I have been advised that on SSD one "loses" only one of the drives (ie if there are 6 x 150GB disks in the array, the total storage capacity would be 5 x 150GB = 750 GB). Is this correct, and if so, why is it different?

    Sounds suspiciously like your hosting company has been listening to their EMC salesperson. EMC apparently is strongly in favour of RAID 5 for SSD, thus the loss of a single disk in the array. The EMC claim is that RAID 5 on SSD has a minimal write latency effect. Not convinced from measurements in practice

    There are SAN configuration "restrictions" that make it complex or inefficient to configure some of the logical volumes as RAID 5, some as RAID 10

    For the record, I have successfully run the standard Windows Logical Volume Manager (LVM) to implement striped volumes (RAID 0), mirrored volumes (RAID 1), striped with parity (RAID 5), and spanned volumes over SSDs. Using UEFI boot it is quite feasible to implement booting off a logically mirrored pair of PCIe-attached SSDs

  • gert.j.kruger (5/2/2012)


    For SSD Raid 1+0 configuration I have been advised by our hosting company that the total storage space is different than for traditional drives. My understanding is that storage space on "traditional" Raid 1+0 would be half the total size of the disks in the array (ie there are 6 x 150GB disks in the array, the total storage space is 3 x 150GB = 450GB). However, I have been advised that on SSD one "loses" only one of the drives (ie if there are 6 x 150GB disks in the array, the total storage capacity would be 5 x 150GB = 750 GB). Is this correct, and if so, why is it different?

    SSD's have zero capacity calculation differences for each RAID level. Their differences lie solely in sequential performance (better), random performance (much better), cost (much higher per bay, much higher per GB, not so much higher per performance, with a much higher performance ceiling in a given physical enclosure), and capacity (much lower maximum capacity).

    What your "hosting company" is almost certainly doing is comparing a spindle drive RAID 10 against an SSD RAID 5.

  • Steve Jones - SSC Editor (5/1/2012)


    jfogel (5/1/2012)


    I don't see ever getting on board with having a production database running on a VM. Of course, things change but I cringe at the thought of this.

    You're missing out. Modern hypervisors have a tiny percentage of penalty. Even a 1vm/1physical machine makes sense in many cases, especially for DR.

    There are lots of SQL Servers in most environments that run fine on VMs. Not necessarily the most loaded, but any that are averaging < 50% CPU with rare peaks, should be virtualized. The SQLServerCentral servers (clustered) are both virtualized. I have friends at various companies, including a large media company with the vast majority of their SQL Servers on VMs. There are a few heavily used ones on physical hosts, but it's rare.

    In addition to low CPU, be very careful to compare the disk and RAID configurations between the original host and the VM, and ask about current VM disk sharing and future VM disk sharing. Also check with the VM expert about reserved CPU capacity, reserved IO capacity if on shared physical disks, dedicated NICs vs. shared NICs, and very importantly, reserved memory vs. memory ballooning.

    It sounds like a lot, but the bottom line is that some VM's are more equal than others; if you want more predictable performance, particularly peak performance, then it needs to be planned for. When this is done, we've also had very good results virtualizing our smaller database instances.

  • gert.j.kruger (5/2/2012)


    For SSD Raid 1+0 configuration I have been advised by our hosting company that the total storage space is different than for traditional drives. My understanding is that storage space on "traditional" Raid 1+0 would be half the total size of the disks in the array (ie there are 6 x 150GB disks in the array, the total storage space is 3 x 150GB = 450GB). However, I have been advised that on SSD one "loses" only one of the drives (ie if there are 6 x 150GB disks in the array, the total storage capacity would be 5 x 150GB = 750 GB). Is this correct, and if so, why is it different?

    That can't be correct for a given raid level. Perhaps they are assuming that the performance and extra space reserved inside an SSD means they can run RAID 5 instead?

  • piotrka (5/1/2012)


    Gregory, great article

    But I have a question about read performance for RAID 5 and RAID 10. In your table you showed that RAID 5 scores Good and RAID 10 scores Excellent for read. On the other hand, Kendal Van Dyke in his tests http://www.kendalvandyke.com/2009/02/disk-performance-hands-on-part-5-raid.html, shows that RAID 5 always outperforms RAID 10. I know that Kendal’s article is 3 years old but could you please tell me why you score RAID 10 higher than RAID 5 on read performance?

    If you look at my table of actual test results above, you'll note that on my test setup (running on an EMC SAN for the spindles, with each test run 10 times as long, and using up a larger portion of available disk capacity, but running less files at a time) RAID 10 has a significant advantage for both 8KB and 64KB random writes (the only random writes tested), and is either similar or worse performance in every other category.

    Note that there can be differences in how RAID 10's are implemented; it's technically possible for a RAID 10 array (or a RAID 1) to read data from both halves of the mirror set at once, which can affect performance.

  • tony.turner (5/2/2012)


    Sounds suspiciously like your hosting company has been listening to their EMC salesperson. EMC apparently is strongly in favour of RAID 5 for SSD, thus the loss of a single disk in the array. The EMC claim is that RAID 5 on SSD has a minimal write latency effect. Not convinced from measurements in practice

    Actually, if you're running enough disks, at least on spindle drives EMC's RAID 50 implementation can have significantly better performance than their RAID 5; look for the 15000 RPM drives in the table in my post above.

  • Thanks Nadrek for your response. It was my understanding that RAID 10 is superior over RAID 5 on writes. However; using the same number of hard drives, RAID 5 has an advantage over RAID 10 on random reads.

  • piotrka (5/2/2012)


    Thanks Nadrek for your response. It was my understanding that RAID 10 is superior over RAID 5 on writes. However; using the same number of hard drives, RAID 5 has an advantage over RAID 10 on random reads.

    Please see my post on the first page, with the table. Read that carefully, though you can focus only on one set of IOs Outstanding (perhaps 8 or 16).

    On my particular setup, RAID10 appears to have an advantage over RAID5 and RAID50 only on 8KB and 64KB random writes.

    Note that RAID10 does not retain that advantage on sequential writes, however, and has no other advantages except for the possibility of losing more drives... if they're all on the same side of the array. Murphy's law says they won't be as often as you want them to be, so I don't find that to be a telling argument, personally - RAID50 can lose one drive on each RAID5 set also, and RAID6 can lose any two drives.

  • Cois (5/2/2012)


    I would store it on the logs RAID.

    Hi

    do you think it would be a big performance loss to store tempDB data and Logs on the same Raid?

    in our BI(OLAP) enviroment , we use

    1. RAID 10 for Data1 and Log2

    2. RAID 10 for Data2 and Log1

    3. RAID 10 for TempDB Data and Logs

  • Hi

    do you think it would be a big performance loss to store tempDB data and Logs on the same Raid?

    in our BI(OLAP) enviroment , we use

    1. RAID 10 for Data1 and Log2

    2. RAID 10 for Data2 and Log1

    3. RAID 10 for TempDB Data and Logs

    You will benefit from seperating TempDB and Logs.

    Budget is always an issue so you gotta pick your battles. But in a perfect World, Id absolutely seperate them.

    GAJ

    Gregory A Jackson MBA, CSM

Viewing 15 posts - 46 through 60 (of 95 total)

You must be logged in to reply to this topic. Login to reply