RAID 5 in Action

RAID 0 is good way to see how adding more disks scales up your writing and reading performance. However, it is rarely if ever used for any serious application. What happens if we use RAID 5?

RAID 5 IOMeter Sequential Read

We see a picture very similar to what we saw with our RAID 0 numbers. The SAS protocol is more efficient than the SATA interface. Four SLC SSDs already come close to the highest bandwidth that our Adaptec HBA is capable of extracting out of SATA disks. Add four more and you bump into a 700 MB/s bottleneck. At first, our eight drive results look weird, as they are more than twice as fast as the four drives results. In the case of four drives, our controller will write three striped blocks of data and one parity block on our RAID array. With eight drives, we are striping seven blocks and we only have to write one parity block. So we can expect a maximum scaling of 2.3 (7/3), which explains the "the better than doubling" in performance.

RAID 5 IOMeter Sequential 66% Read and 33% write

Once we interleave some writing with reading, something remarkable happens: eight SLC SSDS are (slightly) slower than four are. We have no real explanation for this, other than that this might have something to do with the choices Adaptec made when writing the firmware. We tried out the Areca 1680 controller, which uses the same controller (Intel Dual-core IOP348 1.2GHz) but with different firmware.


The Areca 1680 controller is almost 20% slower with four SLC SSD drives in RAID 0, but scales well from four to eight drives (+78%). In comparison, the Adaptec controller is only 19% faster with an additional four drives. In RAID 5 the difference is even more dramatic. Adding four extra drives (for a total of eight) leads to a performance decrease on the Adaptec card, while there is a decent 47% scale up in performance in the same situation on the Areca 1680. Thus, we conclude that is likely that the Adaptec firmware is to blame. We used both the 1.44 (August 2008) and 1.46 (February 2009) firmware, and although the latest firmware gave a small boost, we made the same observations.

SQLIO Performance More RAID 5
Comments Locked

67 Comments

View All Comments

  • Rasterman - Monday, March 23, 2009 - link

    since the controller is the bottleneck for ssd and you have very fast cpus, did you try testing a full software raid array, just leave the controllers out of it all together?.
  • Snarks - Sunday, March 22, 2009 - link

    reading the comments made my brain asplode D:!

    Damn it, it's way to late for this!
  • pablo906 - Saturday, March 21, 2009 - link

    I've loved the stuff you put out for a long long time. This another piece of quality work. I definitely appreciate the work you put into this stuff. I was thinking about how I was going to build the storage back end for a small/medium virtualization platform and this is definitely swaying some of my previous ideas. It really seems like an EMC enclosure may be in our future instead of a something built by me on a 24 Port Areca Card.

    I don't know what all the hubub was about at the beginning of the article but I can tell you that I got what I needed. I'd like to see some follow ups in Server Storage and definitely more Raid 6 info. Any chance you can do some serious Raid Card testing, that enclosure you have is perfect for it (I've built some pretty serious storage solutions out of those and 24 port Areca cards) and I'd really like to see different cards and different configurations, numbers of drives, array types, etc. tested.
  • rbarone69 - Friday, March 20, 2009 - link

    Great work on these benchmarks. I have found very few other sources that provided me with the answers to my questions regarding exaclty what you tested here (DETAILED ENOUGH FOR ME). This report will be referenced when we size some of our smaller (~40-50GB but heavily read) central databases we run within our enterprise.

    It saddens me to see people that simply will NEVER be happy, no matter what you publish to them for no cost to them. Fanatics have their place but generally cost organizations much more than open minded employees willing to work with what they have available.
  • JohanAnandtech - Saturday, March 21, 2009 - link

    Thanks for your post. A "thumbs up" post like yours is the fuel that Tijl and I need to keep going :-). Defintely appreciated!



  • classy - Friday, March 20, 2009 - link

    Nice work and no question ssds are truly great performers, but I don't see them being mainstream for several more years in the enterprise world. One is no one knows how relaible they are? They are not tried and tested. Two and three go hand in hand, capapcity and cost. With the need for more and more storage, the cost for ssd makes them somewhat of a one trick pony, a lot of speed, but cost prohibitive. Just at our company we are looking at a seperate data domain just for storage. When you start tallking the need for several terabytes, ssd just isn't going to be considered. Its the future, but until they drastically reduce in cost and increase in capacity, their adoption will be minimal at best. I don't think speed right now trumps capacity in the enterprise world.
  • virtualgeek - Friday, March 27, 2009 - link

    They are well past being "untried" in the enterprise - and we are now shipping 400GB SLC drives.
  • gwolfman - Friday, March 20, 2009 - link

    [quote]Our Adaptec controller is clearly not taking full advantage of the SLC SSD's bandwidth: we only see a very small improvement going from four to eight disks. We assume that this is a SATA related issue, as eight SAS disks have no trouble reaching almost 1GB/s. This is the first sign of a RAID controller bottleneck.[/quote]
    I have an Adaptec 3805 (previous generation as to the one you used) that I used to test 4 of OCZ's first SSDs when they came out and I noticed this same issue as well. I went through a lengthy support ticket cycle and got little help and no answer to the explanation. I was left thinking it was the firmware as 2 SAS drives had a higher throughput than the 4 SSDs.
  • supremelaw - Friday, March 20, 2009 - link

    For the sake of scientific inquiry primarily, but not exclusively,
    another experimental "permutation" I would also like to see is
    a comparison of:

    (1) 1 x8 hardware RAID controller in a PCI-E 2.0 x16 slot

    (2) 1 x8 hardware RAID controller in a PCI-E 1.0 x16 slot

    (3) 2 x4 hardware RAID controllers in a PCI-E 2.0 x16 slot

    (4) 2 x4 hardware RAID controllers in a PCI-E 1.0 x16 slot

    (5) 2 x4 hardware RAID controllers in a PCI-E 2.0 x4 slot

    (6) 2 x4 hardware RAID controllers in a PCI-E 1.0 x4 slot

    (7) 4 x1 hardware RAID controllers in a PCI-E 2.0 x1 slot

    (8) 4 x1 hardware RAID controllers in a PCI-E 1.0 x1 slot


    * if x1 hardware RAID controllers are not available,
    then substitute x1 software RAID controllers instead,
    to complete the experimental matrix.


    If the controllers are confirmed to be the bottlenecks
    for certain benchmarks, the presence of multiple I/O
    processors -- all other things being more or less equal --
    should tell us that IOPs generally need more horsepower,
    particularly when solid-state storage is being tested.

    Another limitation to face is that x1 PCI-E RAID controllers
    may not work in multiples installed in the same motherboard
    e.g. see Highpoint's product here:

    http://www.newegg.com/Product/Product.aspx?Item=N8...">http://www.newegg.com/Product/Product.aspx?Item=N8...


    Now, add different motherboards to the experimental matrix
    above, because different chipsets are known to allocate
    fewer PCI-E lanes even though slots have mechanically more lanes
    e.g. only x4 lanes actually assigned to an x16 PCI-E slot.


    MRFS


  • supremelaw - Friday, March 20, 2009 - link

    More complete experimental matrix (see shorter matrix above):

    (1) 1 x8 hardware RAID controller in a PCI-E 2.0 x16 slot

    (2) 1 x8 hardware RAID controller in a PCI-E 1.0 x16 slot

    (3) 2 x4 hardware RAID controllers in a PCI-E 2.0 x16 slot

    (4) 2 x4 hardware RAID controllers in a PCI-E 1.0 x16 slot

    (5) 1 x8 hardware RAID controllers in a PCI-E 2.0 x8 slot

    (6) 1 x8 hardware RAID controllers in a PCI-E 1.0 x8 slot

    (7) 2 x4 hardware RAID controllers in a PCI-E 2.0 x8 slot

    (8) 2 x4 hardware RAID controllers in a PCI-E 1.0 x8 slot

    (9) 2 x4 hardware RAID controllers in a PCI-E 2.0 x4 slot

    (10) 2 x4 hardware RAID controllers in a PCI-E 1.0 x4 slot

    (11) 4 x1 hardware RAID controllers in a PCI-E 2.0 x1 slot

    (12) 4 x1 hardware RAID controllers in a PCI-E 1.0 x1 slot


    MRFS

Log in

Don't have an account? Sign up now