Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Jul 2002 14:24:33 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "Jaime Bozza" <jbozza@thinkburst.com>
Cc:        <stable@FreeBSD.ORG>, "'Olaf R'" <olaf@keghouse.net>
Subject:   Re: RE: RE: Abominable NFSv3 read performance / FreeBSD server / Solaris client
Message-ID:  <200207242124.g6OLOXaM029616@apollo.backplane.com>
References:   <025c01c23353$f75cc730$6401010a@bozza>

next in thread | previous in thread | raw e-mail | index | archive | help

:
:Ok, I fiddled with the tcp_recv_hiwat parameter on Solaris 8, along 
:with the tcp.sendspace parameter on FreeBSD.  No matter what, anything
:above 32767 would continually get the delays.
:
:
:Unfortunately, I don't think I can change them with a running system.
:(Have to set them in /etc/system and reboot to make the changes)
:
:But regardless, both are set to 32768.  I wouldn't be surprised if
:rsize=32768 
:would work fine if I increased both of these values.  Here are the
:beginnings 
:of a couple of tcpdumps.  
:
:FreeBSD to FreeBSD:
:14:52:36.435205 freebsd-client.1700858811 > freebsd-server.nfs: 132
:lookup [|nfs]
:14:52:36.435334 freebsd-server.nfs > freebsd-client.1700858811: reply ok
:...


    Umm.  Jaime, these tcp dumps show a UDP NFS mount, not a TCP NFS mount.
    The first set of TCP dumps showed a TCP NFS mount.

:...
:that the first
:couple of lines are looking up the file.  After that, I'm at a loss with
:the Solaris
:dump, other than the fact that I'm pretty sure the "reply ERR" are
:causing delays
:somewhere.  (The FreeBSD one is so clean!)
:
:Does FreeBSD attempt to send packets out using a size of NFS_MAXPACKET
:(33172?) all
:the time?  Could the "win 33176" be centered around that?  From what I'm
:seeing

    A UDP NFS mount will send packets that are approximately rsize
    or wsize bytes for full block data reads or writes, depending on
    the direction.  A TCP NFS mount will not send packets larger then
    the MTU (i.e. there will be no fragments).

:(correct me if I'm wrong), FreeBSD is sending 8328 bytes in each TCP
:packet when
:Sending to a FreeBSD client.

    This most recent TCP dump you made was a UDP mount, not a TCP mount.

:figure
:out what's really going on here.  Any pointers on where to research next
:would be
:helpful.  I'm pretty sure that it would have to be something on Solaris
:that's
:causing the problem, but I'm at a loss as to what.
:
:Jaime

    Well, I really don't think the rsize or wsize really has anything to
    do with it.  I still feel that the problem is a window-sizing issue 
    with TCP and the rsize/wsize changes 

    I will also note that window sizing is irrelevant with a UDP NFS
    mount.  It is only relevant on a TCP NFS mount.  You should be
    getting nearly full speed over a UDP mount (using a rsize and wsize
    of 8K).  If you aren't then there's likely a network problem
    somewhere.

    What I really need is a tcpdump from the FreeBSD side showing a few
    seconds worth of a large transfer for a TCP NFS mount from the
    FreeBSD box to a Solaris client.  On the FreeBSD it would be something
    like:

    tcpdump -s 4096 -n -i <interface> -l > dumpfile

						-Matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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