Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Aug 2009 09:20:03 GMT
From:      Ivan Voras <ivoras@freebsd.org>
To:        freebsd-geom@FreeBSD.org
Subject:   Re: kern/113885: [gmirror] [patch] improved gmirror balance algorithm
Message-ID:  <200908250920.n7P9K3XA042099@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/113885; it has been noted by GNATS.

From: Ivan Voras <ivoras@freebsd.org>
To: bug-followup@freebsd.org, zuborg@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.
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908250920.n7P9K3XA042099>