Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Feb 2014 19:49:32 -0500 (EST)
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        aurfalien <aurfalien@gmail.com>
Cc:        freebsd-net@freebsd.org, Christian Weisgerber <naddy@mips.inka.de>
Subject:   Re: Terrible NFS performance under 9.2-RELEASE?
Message-ID:  <1278699658.3088617.1391993372969.JavaMail.root@uoguelph.ca>
In-Reply-To: <49357095-33DB-4881-8AC2-847C86E63350@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
aurfalien wrote:
> On Feb 9, 2014, at 10:03 AM, Christian Weisgerber
> <naddy@mips.inka.de> wrote:
> 
> > Rick Macklem <rmacklem@uoguelph.ca> wrote:
> > 
> >> I have a "hunch" that might explain why 64K NFS reads/writes
> >> perform
> >> poorly for some network environments.
> >> A 64K NFS read reply/write request consists of a list of 34 mbufs
> >> when
> >> passed to TCP via sosend() and a total data length of around
> >> 65680bytes.
> >> Looking at a couple of drivers (virtio and ixgbe), they seem to
> >> expect
> >> no more than 32-33 mbufs in a list for a 65535 byte TSO xmit. I
> >> think
> >> (I don't have anything that does TSO to confirm this) that NFS
> >> will pass
> >> a list that is longer (34 plus a TCP/IP header).
> > 
> > This may or may not be the same problem:
> > 
> > When I switched my desktop box from FreeBSD 7 to 9, NFS read
> > performance from my media server (running OpenBSD) became extremely
> > poor.  I couldn't even stream a movie any longer.  Disabling TSO
> > on the nfe(4) interface had no effect.  My workaround was to switch
> > from a TCP mount to a UDP one.  The problem has persisted to
> > FreeBSD 10.
> > 
> > I can now report that switching to [rw]size=32768 with a TCP mount
> 
> So either UDP or TCP w/rw sizes of 32K work the same?
> 
Nope. The client limits UDP rsize/wsize to 16K, so you were actually
using rsize=16384,wsize=16384 when using UDP. You can "nfsstat -m" on
the client to see what the actual "negotiated" mount options are.

rick

> - aurf
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to
> "freebsd-net-unsubscribe@freebsd.org"
> 



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