UK’s trusted IT infrastructure partner since 2003
Servnet
ConfiguratorGet in Touch
RAID write penalty explained (and IOPS impact) — analysisRAID write penalty explained (and IOPS impact) — analysis — reach
Storage · RAID

RAID write penalty explained (and IOPS impact)

Servnet Storage Team · Storage & Data Protection6 min read

The RAID write penalty is the hidden tax that makes parity RAID slow for writes: each host write costs several back-end disk operations. Here's the maths — and see it in your IOPS in the RAID calculator.

Write penalty by level
RAID 10RAID 5RAID 6Write penalty×2×4×6I/Os per write246Host write IOPSbudget ÷ 2budget ÷ 4budget ÷ 6ReadsNo penaltyNo penaltyNo penalty

What the write penalty is

Every host write to a redundant array triggers extra back-end I/O. For mirroring (RAID 1/10) the data is written to both copies — a ×2 penalty. For RAID 5, a small write must read the old data and old parity, then write the new data and new parity — four operations, a ×4 penalty. RAID 6 updates two parities, giving a ×6 penalty.

These factors are standard: RAID 0 ×1, RAID 1/10 ×2, RAID 5 ×4, RAID 6 ×6. They only affect writes; reads have no penalty.

How it hits IOPS

Front-end (host) write IOPS = total back-end drive IOPS ÷ write penalty. So an array of drives capable of 1,000 back-end IOPS delivers ~250 host write IOPS in RAID 5 (÷4) but ~500 in RAID 10 (÷2). For a mixed read/write workload the effective figure sits between the read and write numbers, weighted by the mix.

This is exactly why write-heavy transactional databases favour RAID 10 despite its 50% capacity cost — see RAID 6 vs RAID 10. The calculator computes read, write and mixed IOPS for any level and drive class.

Write-heavy workload?
Lots of writes?
yes
RAID 10 (×2)
read-heavy
RAID 5/6 OK
NetApp
RAID-DP (WAFL)

The exceptions: WAFL and ZFS

Some systems sidestep the classic penalty. NetApp's WAFL (RAID-DP/TEC) writes full stripes to free space, avoiding the read-modify-write cycle — so it doesn't carry the ×6 tax. ZFS uses copy-on-write and variable stripes, so its write behaviour also differs (and a RAIDZ vdev's IOPS are limited to ~one drive instead). Our calculator models these correctly rather than applying a misleading ×6.

Flash also softens the impact: SSDs have so many IOPS to spare that the penalty matters less in absolute terms than on spinning disks — but it still applies.

Key takeaways
  • Write penalty = back-end I/Os per host write: RAID 0 ×1, RAID 1/10 ×2, RAID 5 ×4, RAID 6 ×6.
  • Host write IOPS = total drive IOPS ÷ write penalty; reads are unaffected.
  • It's why RAID 10 beats RAID 5/6 for write-heavy databases.
  • NetApp WAFL and ZFS avoid the classic read-modify-write penalty.
Frequently asked

FAQs — RAID write penalty explained (and IOPS impact)

Write penalty

What is the RAID 5 write penalty?

×4. A small RAID 5 write reads the old data and old parity, then writes the new data and new parity — four back-end operations per host write. RAID 6 is ×6 (two parities).

Does the write penalty affect reads?

No. Reads have no penalty in any common RAID level. The penalty applies only to writes, because that's when parity or mirror copies must be updated.

How do I avoid the write penalty?

Use RAID 10 (×2) for write-heavy workloads, or platforms that avoid read-modify-write such as NetApp WAFL (RAID-DP). Flash also makes the absolute impact smaller because SSDs have far more IOPS to spare.

Related

Continue reading

More in Storage

Got a question this article didn't answer?

One conversation with an engineer who's done this before. No sales script.

Talk to Servnet →