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>