Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Mar 2011 14:48:35 +0100
From:      Lorenzo Perone <lopez.on.the.lists@yellowspace.net>
To:        Ivan Voras <ivoras@freebsd.org>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: gmirror performance
Message-ID:  <4D80BFB3.20706@yellowspace.net>
In-Reply-To: <ilq8pl$qgf$1@dough.gmane.org>
References:  <4D7F7E33.7050103@yellowspace.net> <ilq8pl$qgf$1@dough.gmane.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 16.03.11 13:00, Ivan Voras wrote:

> On 15/03/2011 15:56, Lorenzo Perone wrote:
...
>> I'd expect read performance to be noticeably higher than write
>> performance. Why is it not the case? Wrong expectation? :/

> Maybe. You can't expect that RAID-1 will have as good performance as
> RAID-0 but you might achieve better performance for sequential reads
> with long buffers. Try setting the vfs.read_max sysctl to 128 and see if
> it helps you.

It *does* help!

Thanx a great lot! I knew I it was a PEBKAC :)

sysctl vfs.read_max=128
configure -b load mirr0

just gave me 70MB/s more when reading (256640376 bytes/sec) :)

> (you might want to leave the gmirror algorithm to the
>> default "load" and increase the stripe size to something sane, like 16k).

If You meant gmirror configure -s 16384 mirr0: this didn't change 
anything for -b load, as expected, but it did change a little for -b split.

To sum up some results, fwimc:

test case:

umount /mnt && mount /dev/mirror/mirr0p4 /mnt && \
dd if=/mnt/2gigfile.dat bs=1m of=/dev/null

* with default vfs.read_max=8

-b split -s 2048:
   173875942 bytes/sec

-b load:
   195143412 bytes/sec

* with vfs.read_max=128

-b split -s 2048:
   191024137 bytes/sec

-b load:
   258329216 bytes/sec

Big Thanx and Regards,

Lorenzo




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