Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
User Journal

Journal rwa2's Journal: Mirrored RAID read performance, where art thou?

Back before mdadm (in the days of mkraid), the Linux RAID1 driver used to give you a performance boost when reading from a mirrored array. Essentially, from 2 mirrored disks, it would read half the data from each disk and give you the whole thing almost twice as fast. At some point, they decided to change that behavior so reads would only be performed from one drive at a time. There was still some small performance boost... it would decrease average seek latency a bit by reading from the hard disk spindle that was physically closer to the sector to be read. And maybe it allowed concurrent reads, so one process could read a file from one disk while another process read a file from the secondary disk... but for some reason, that doesn't seem to increase your overall throughput by anywhere close to a factor of 2... more like 1.3 from my brief testing (and I suspect most of that gain was probably due to disk cache rather than parallel reads).

But after reading a few different Linux RAID sites today, it looks like that you can get that kind of performance boost again out of mirrored arrays by using RAID10,f2 ( --profile far=2 )! And even though it's called RAID10, it even works on arrays as small at 2 disks. It basically works by striping your data across the first half of your drives, and then striping the mirror of that data across the second half. This appears to decrease write performance by about 5% compared to RAID1 or RAID10 near=2 (the default), but the read performance finally increases again not only due to striping, but also because your disk heads now stay near the faster outer rings of your disk drives, and only has to dive down to the inner rings for mirroring writes.

So I'm pretty excited about this since I've kinda been annoyed by it for the past few year. Except that of course I now have to rebuild all my RAID1 and RAID10 arrays to use the far=2 profile :P

Here are links to some of the more useful sites with data:
http://linux-raid.osdl.org/index.php/Performance
http://blog.jamponi.net/2007/12/some-raid10-performance-numbers.html
http://home.comcast.net/~jpiszcz/raid/20080528/raid-levels.html

This discussion has been archived. No new comments can be posted.

Mirrored RAID read performance, where art thou?

Comments Filter:

If you want to put yourself on the map, publish your own map.

Working...