Date: Sun, 9 Feb 2014 10:54:10 -0800 From: aurfalien <aurfalien@gmail.com> To: Christian Weisgerber <naddy@mips.inka.de> Cc: freebsd-net@freebsd.org Subject: Re: Terrible NFS performance under 9.2-RELEASE? Message-ID: <49357095-33DB-4881-8AC2-847C86E63350@gmail.com> In-Reply-To: <ld8ft9$25o0$1@lorvorc.mips.inka.de> References: <52DC1241.7010004@egr.msu.edu> <1629593139.16590858.1390789014324.JavaMail.root@uoguelph.ca> <ld8ft9$25o0$1@lorvorc.mips.inka.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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? - aurf
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49357095-33DB-4881-8AC2-847C86E63350>