Does RAID1 double read speed or not?

tart666

Golden Member
May 18, 2002
1,289
0
0
I've been confused for a while, the AT FAQ mentions that
RAID 1 also increases the read performance since both disks can be read at once
while all the benchmarks I've seen (eg here) say that RAID1 slows down read performance to about 90% of single drive speed...

Is there any truth to the FAQ's?
 

MichaelD

Lifer
Jan 16, 2001
31,528
3
76
IIRC, RAID 1 shows increased read speeds on large files, not small ones.

You don't run RAID 1 for speed though. That would be RAID 0 or RAID 5.
 

Pariah

Elite Member
Apr 16, 2000
7,357
20
81
Load balancing of reads is a function of RAID 1, but very few ATA RAID controllers support it, so the answer is yes and no. Yes, RAID 1 is capable of almost doubling read speed, but since the vast majority of RAID controllers people on these boards use don't support load balancing, the answer is also no.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
A two-disk RAID1 can, in theory, double bulk read rates, and will also (in theory) cut your seek times in half for both reads and writes. However, because the data is not striped, read performance for a *single* read is not usually doubled -- since the disks have to seek between chunks, splitting the reads between the disks doesn't help as much. However, if you ran a multithreaded test where it tried to read two different files simultaneously, it should double the transfer rate, since each disk will read full-speed at once.
 

tart666

Golden Member
May 18, 2002
1,289
0
0
okay. Has anyone seen any benchmarked configurations that will demonstrate the read speed doubling? I would like to set my file server this way, if possible.

I assume I lose data verification, (or failure detection) with load balancing, will the array be able to figure out data corruption in some other way?
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: tart666
okay. Has anyone seen any benchmarked configurations that will demonstrate the read speed doubling? I would like to set my file server this way, if possible.

For a file server that is servicing multiple requests simultaneously, it should work noticeably better than RAID0. I can't seem to find any benchmarks (even synthetic ones) that would hold this up, though. :-/

Edit: Actually, I did find *something* in that bench you had posted before: web server performance (read-only, I'm guessing fairly random small reads) -- the RAID1 kicks the RAID0's butt here.

What you *should* see in any read-only bench is that the number of I/Os per second is doubled, and the overall read throughput is doubled, but for each individual I/O, you won't see a read speedup.

I assume I lose data verification, (or failure detection) with load balancing, will the array be able to figure out data corruption in some other way?

I would *hope* that the array still tries to detect failures when it can -- that is, when it's only servicing a single I/O, the other disk can read the same block and compare them without any (or with only a very small) performance hit. It can also do comparisons while writing (to ensure the old data is consistent, at least). However, some controllers may not do this (especially consumer-level ones).
 

Pariah

Elite Member
Apr 16, 2000
7,357
20
81
There is no "setting" to do this. Either the card does it automatically, or it can't do it at all. 3Ware cards do it. Highpoint controllers that advertise RAID 1.5 support do it, and a few random others might as well.

If you look at this article from SR and look at the STR of RAID 1 configurations, it's rather obvious that the 3Ware card load balances reads, while the Adaptec and 2 Promise cards don't.

http://storagereview.com/articles/200110/20011031SX6000_2.html