Terrible NFS performance under 9.2-RELEASE?

aurfalien aurfalien at gmail.com
Sun Feb 9 18:54:16 UTC 2014


On Feb 9, 2014, at 10:03 AM, Christian Weisgerber <naddy at mips.inka.de> wrote:

> Rick Macklem <rmacklem at 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


More information about the freebsd-net mailing list