Gmirror performanc
Guido van Rooij
guido at gvr.org
Wed Oct 25 21:11:57 UTC 2006
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
More information about the freebsd-stable
mailing list