Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Oct 2006 23:11:53 +0200
From:      Guido van Rooij <guido@gvr.org>
To:        Oliver Fromme <olli@lurza.secnetix.de>
Cc:        freebsd-stable@FreeBSD.ORG
Subject:   Re: Gmirror performanc
Message-ID:  <20061025211153.GA58556@gvr.gvr.org>
In-Reply-To: <200610251350.k9PDo442086250@lurza.secnetix.de>
References:  <20061025132455.GA52157@gvr.gvr.org> <200610251350.k9PDo442086250@lurza.secnetix.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 25, 2006 at 03:50:04PM +0200, Oliver Fromme wrote:
> Guido van Rooij wrote:
>  > Anyway, I created a gm device and a partition. Now the read performance
>  > is not what I'd expect.
>  > I have the partition on two SATA devices on different controlers.
>  > I get around 60MB/s for each disk. I can get that speed from both disks
>  > simultaneously.
>  > Now when I dd from the gm device, I don't get any speed higher than that.
> 
> That's expected.

I do not agree.

> 
>  > I tried with -b split -s <various sizes>, -b round-robin, -b load.
>  > (dd-ing as done with a bs of 1m; I see the transaction size is 128Kb,
>  > unless the split method is used, in which case the transaction size
>  > gies down. When round-robin is used, the transaction size is 128Kb/s,
>  > but the number of transaction per second goes down.).
>  > 
>  > I cannot explain why I should not get a higher read speed. Anyone?
> 
> dd is a sequential, single-threaded operation, so it will
> only use one disk at a time.  It's not really suitable as
> a benchmark for real-world things.

I never argued that.

> 
> In the real world [TM] you have multiple processes that
> access the file system at random.  Here you will benefit
> from the mirror, because accesses will be distributed
> among the disks.

But a single-threaded process accessing a large file should also be
able to see a speed increase. I really do not see why a split or roundrobin
approach to a mirror would get only half the performance of a raw access
to a non-mirror. Somehow there must a limit of 128KB of outstanding requests.
That limit is software imposed and should IMHO scale with the number of
spindles in a mirror...

-Guido
that can be 



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