Number of effective spindles in a RAID array?

6,151

Solution 1

You can't simply subtract the number of parity disks from number of total spindles and end up with useful results if you're doing IOP transaction calculations. There's more going on behind the scenes:

RAID 10:

  • 1 frontend read translates into 1 backend IOP (d0 read)
  • 1 frontend write translates into 2 backend IOPS (d0 write, d1 write)

RAID 5:

  • 1 frontend read translates into 1 backend IOP (d0 read)
  • 1 frontend write translates into 4 backend IOPS (d0 read, parity read, d0 write, parity write)

RAID 6: (not 100% sure on these numbers - someone please correct me if they are off)

  • 1 frontend read translates into 1 backend IOP (d0 read)
  • 1 frontend write translates into 6 backend IOPS (d0 read, parity read, qarity read, d0 write, parity write, qarity write)

So for example in a RAID set with 8 disks:

  • RAID10: 100 frontend writes translates to 200 IOPS on the backend (or 25/drive)
  • RAID5: 100 frontend writes translates to 400 IOPS on the backend (or 50/drive)
  • RAID6: 100 frontend writes translates to 600 IOPS on the backend (or 75/drive)

Note that for the RAID10 calculations the method of "subtract number of parity spindles from total number of spindles" gives you the right answer. However, this falls over in RAID5/RAID6 calculations.

Solution 2

Depends on your formula, assuming its a good one you should use the total number of spindles in the array, minus hot-spares.

Here's a good calculator btw: http://wmarow.com/strcalc/

Share:
6,151

Related videos on Youtube

Fox32
Author by

Fox32

Updated on September 17, 2022

Comments

  • Fox32
    Fox32 almost 2 years

    Ok, simple question here. When doing performance calculations on RAID arrays that involve number of spindles (such as measuring disk queue length), how many "spindles" do I use?

    The array in question is RAID 6. Should I use N-2 spindles? N-1 if it were RAID 5?

  • Fox32
    Fox32 over 14 years
    What if the formula isn't taking RAID level into account? It seems like I wouldn't include parity drives in my spindle count... ?
  • Lennert
    Lennert over 14 years
    Then its not much of a formula. MikeyB's answer below is a great explanation of why it matters. Also remember battery backed write cache makes a massive difference for intermittent/bursty writes. So a RAID-6 with bbwc will likely do much better on a relatively write-heavy database than a RAID-10 without it.