kern/113885: [gmirror] [patch] improved gmirror balance
algorithm
Ivan Voras
ivoras at freebsd.org
Tue Aug 25 09:20:03 UTC 2009
The following reply was made to PR kern/113885; it has been noted by GNATS.
From: Ivan Voras <ivoras at freebsd.org>
To: bug-followup at freebsd.org, zuborg at advancedhosters.com
Cc:
Subject: Re: kern/113885: [gmirror] [patch] improved gmirror balance algorithm
Date: Tue, 25 Aug 2009 11:11:12 +0200
The patch will not increase streaming read performance beyond what's
possible with a single drive, it will improve random read performance in
certain cases where reads are localized in such ways that reading some
of them from one drive and others from the other drive helps.
The reason why there is no scalability with streaming read performance
vs what can be achieved with RAID0/3/5 is that there is no striping
here. For example: if you need to read 4 striped blocks from a RAID0 of
two drives, blocks 0 and 2 will be sequentially stored on the first
drive, blocks 1 and 3 will be sequentially stored on the second drive.
Thus reading the 4 blocks will result in two sequential reads per drive.
OTOH, with RAID1, blocks 0 and 2 will be stored with a "gap" between
them, containing block 1, and cannot be read sequentially, but a seek is
needed. This is why e.g. the "split" method (which effectively does
striping on the request level) doesn't help much with performance.
More information about the freebsd-geom
mailing list