On Fri, Jul 08, 2011 at 09:39:26PM +0200, Piotr Durlej wrote:
> Reading RAID 1 volumes can be slow because of the way reads are 
> interleaved:
> 
> # dd if=/dev/rsd0c of=/dev/null bs=1m count=256
> 256+0 records in
> 256+0 records out
> 268435456 bytes transferred in 1.841 secs (145780529 bytes/sec)
> # dd if=/dev/rsd1c of=/dev/null bs=1m count=256
> 256+0 records in
> 256+0 records out
> 268435456 bytes transferred in 1.774 secs (151248200 bytes/sec)
> # dd if=/dev/rsd2c of=/dev/null bs=1m count=256
> 256+0 records in
> 256+0 records out
> 268435456 bytes transferred in 4.683 secs (57311236 bytes/sec)
> # bioctl sd2
> Volume      Status               Size Device  
> softraid0 0 Online       491516657664 sd2     RAID1
>           0 Online       491516657664 0:0.0   noencl <sd1d>
>           1 Online       491516657664 0:1.0   noencl <sd0d>
> # ^D
> 
> As a workaround I have produced this patch:
> 
> http://www.durlej.net/sr1.diff

This only helps sequential reads.  I think under real load this is a
total wash.  What if you picked the slow drive?  What if you are doing
heavy writes at the same time too?

> 
> Implementing split seeks might further improve read performance, 
> especially as far as concurrent requests are concerned.
> 
> Regards,
> Piotr

Reply via email to