Date: Sat, 6 Apr 2013 09:44:21 -0500 (CDT) From: Bob Friesenhahn <bfriesen@simple.dallas.tx.us> To: "Kenneth D. Merry" <ken@freebsd.org> Cc: fs@freebsd.org Subject: Re: NFS File Handle Affinity ported to new NFS server Message-ID: <alpine.GSO.2.01.1304060938560.2267@freddy.simplesystems.org> In-Reply-To: <20130404194719.GA79482@nargothrond.kdm.org> References: <20130404194719.GA79482@nargothrond.kdm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 4 Apr 2013, Kenneth D. Merry wrote: > Hi folks, > > I have ported the old NFS server's File Handle Affinity (FHA) code so that > it works with both the old and new NFS servers. > > This sped up sequential reads from ZFS very significantly in my test > scenarios. > > e.g. a single stream read off of an 8-drive RAIDZ2 went from about 75MB/sec > to over 200MB/sec. > > And with 7 read streams from 7 Linux clients coming off of a 36-drive > RAID-10, I went from about 700-800MB/sec to 1.7GB/sec. (This is over > 10Gb ethernet, with 2 aggregated 10Gb ports on the server end.) > > The reason for the speedup is that Linux is doing a lot of prefetching, and > those read requests all wound up going to separate threads in the NFS > server. That confused the ZFS read prefetch code, and caused it to throw > away a lot of data. This seems like a huge improvement. It also raises questions for me. I have been complaining about single-file zfs prefetch performance (to slow of a prefetch ramp) by user-space applications on the Illumos zfs list. Does the underlying zfs code actually know about requesting "threads" rather than an open file handle? If multiple threads read in turn from the same user-space open file handle, will the prefetch become confused due to use of multiple reading threads? 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.1304060938560.2267>