NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Help with low raid5 performance



On Thu, 18 Nov 2010 19:25:24 +0100
Peter Kerwien <peter%kerwien.homeip.net@localhost> wrote:

> Moving the start of the partition to sector 128 did the trick!
> 
> And then did the following change:
> 
> START array
> 1 3 0
> 
> START disks
> /dev/wd1e
> /dev/wd2e
> /dev/wd3e
> 
> START layout
> 32 1 1 5
> 
> START queue
> fifo 100
> 
> Made a partition starting at sector 2048, created the filesystem with:
> 
> # newfs -O2 -b32k -s -64m /dev/rdk0
> 
> I then got the following result:
> 
> $ dd if=/mnt/vol1/pub/foo.mkv of=/dev/null bs=100m count=100
> 100+0 records in
> 100+0 records out
> 10485760000 bytes transferred in 89.019 secs (117792381 bytes/sec)
> 
> $ dd if=/dev/zero of=/mnt/vol1/pub/zero bs=100m count=100
> 100+0 records in
> 100+0 records out
> 10485760000 bytes transferred in 83.216 secs (126006537 bytes/sec)
> 
> Which is approx 120MB/s during read and 112MB/s during write! :-)
> 
> I still don't get all details or have mixed up some terms / settings
> 
> >> START layout
> >> 64 1 1 5
> > this says that the stripe width is 64 blocks...  With 2 data blocks
> > and 1 parity block in each stripe, that gives you a total of 128
> > blocks of data in a stripe.
> Isn't stripe width == the number of stripes you can write/read to/from
> at the same time? I.e. a 3 disk RAID-5 has a stripe width of 3?

I should have said "Sectors per Stripe Unit" -- it's a width, but in
the other direction :)

> I thought 64 in my example, set the stripe size to 64 blocks, meaning
> that the partition should be aligned to 64, 128, ... blocks.

No...  the total data in the stripe is the "Sectors per Stripe
Unit" value multipled by the number of data disks...  

Later...

Greg Oster


Home | Main Index | Thread Index | Old Index