Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jun 2015 08:32:24 -0500 (CDT)
From:      Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
To:        kpneal@pobox.com
Cc:        FreeBSD FS <freebsd-fs@freebsd.org>
Subject:   Re:  ZFS raid write performance?
Message-ID:  <alpine.GSO.2.01.1506230812550.4186@freddy.simplesystems.org>
In-Reply-To: <20150623042234.GA66734@neutralgood.org>
References:  <5587C3FF.9070407@sneakertech.com> <5587C97F.2000407@delphij.net> <55887810.3080301@sneakertech.com> <20150622221422.GA71520@neutralgood.org> <55888E0D.6040704@sneakertech.com> <20150623002854.GB96928@neutralgood.org> <5588D291.4030806@sneakertech.com> <20150623042234.GA66734@neutralgood.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 23 Jun 2015, kpneal@pobox.com wrote:
>
> When I was testing read speeds I tarred up a tree that was 700+GB in size
> on a server with 64GB of memory.

Tar (and cpio) are only single-threaded.  They open and read input 
files one by one.  Zfs's read-ahead algorithm ramps up the amount of 
read-ahead each time the program goes to read data and it is not 
already in memory.  Due to this ramp-up, input file size has a 
significant impact on the apparent read performance.  The ramp-up 
occurs on a per-file basis.  Large files (still much smaller than RAM) 
will produce a higher data rate than small files.  If read requests 
are pending for several files at once (or several read requests for 
different parts of the same file), then the observed data rate would 
be higher.

Tar/cpio read tests are often more impacted by disk latencies and zfs 
read-ahead algorithms than the peak performance of the data path.  A 
very large server with many disks may produce similar timings to a 
very small server.

Long ago I wrote a test script 
(http://www.simplesystems.org/users/bfriesen/zfs-discuss/zfs-cache-test.ksh) 
which was intended to expose a zfs bug existing at that time, but is 
still a very useful test for zfs caching and read-ahead by testing 
initial sequential read performance from a filesystem.  This script 
was written for Solaris and might need some small adaptation to be 
used for FreeBSD.

Extracting a tar file (particularly on a network client) is a very 
interesting test of network server write performance.

Bob
-- 
Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/



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