Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Feb 2014 18:03:21 +0000 (UTC)
From:      naddy@mips.inka.de (Christian Weisgerber)
To:        freebsd-net@freebsd.org
Subject:   Re: Terrible NFS performance under 9.2-RELEASE?
Message-ID:  <ld8ft9$25o0$1@lorvorc.mips.inka.de>
References:  <52DC1241.7010004@egr.msu.edu> <1629593139.16590858.1390789014324.JavaMail.root@uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
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
also works fine.

-- 
Christian "naddy" Weisgerber                          naddy@mips.inka.de




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ld8ft9$25o0$1>