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>