On Dec 7, 2007 10:12 AM, Chris Worley
On Dec 7, 2007 7:09 AM, Greg Freemyer
wrote:
<snip>
Reads OTOH just need to read the sector they want (unless you have a failed drive).
So _read_ performance is M*N. Or always faster than a single drive.
On a RAID5 you only need M-1 (or M-2 for RAID6) completions of parallel operations... you can discard the slowest disks results, as that can be recreated without all the data.
No idea what you meant there. In a non-degraded raid5 every drive has valid, non-parity data on it. If you have a heavy multi-threaded read load, all disks can be actively providing valid data at one time. i.e M * IOPS
If "M" is the number of disks, and you are, for example, reading 1 stride, then, in a RAID5, you only need to get the stripes from M-1 disks, and you can complete the single stride I/O w/o having yet received the Mth stripe, which you can discard when it shows up.
But what if you are reading 10 strides, or more typically a whole bunch of small random reads. By default the raid logic will NOT read the parity stripe. For file _read_ operations, parity is only read if the array is degraded. In normal operation, only valid data is read, so you get to have valid data coming from all the drives in parallel. But yes at least one of the drives has to be working on a different stride than the others, so in your case try to have your reads be multiple strides long as well as your writes. Greg -- Greg Freemyer Litigation Triage Solutions Specialist http://www.linkedin.com/in/gregfreemyer First 99 Days Litigation White Paper - http://www.norcrossgroup.com/forms/whitepapers/99%20Days%20whitepaper.pdf The Norcross Group The Intersection of Evidence & Technology http://www.norcrossgroup.com -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org