Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jun 2010 21:58:53 -0700
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        "Rick C. Petty" <rick-freebsd2009@kiwi-computer.com>
Cc:        Rick Macklem <rmacklem@uoguelph.ca>, freebsd-stable@freebsd.org
Subject:   Re: Why is NFSv4 so slow?
Message-ID:  <20100628045852.GA75380@icarus.home.lan>
In-Reply-To: <20100628034741.GA45748@kay.kiwi-computer.com>
References:  <20100627221607.GA31646@kay.kiwi-computer.com> <Pine.GSO.4.63.1006271949220.3233@muncher.cs.uoguelph.ca> <20100628031401.GA45282@kay.kiwi-computer.com> <20100628034741.GA45748@kay.kiwi-computer.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jun 27, 2010 at 10:47:41PM -0500, Rick C. Petty wrote:
> On Sun, Jun 27, 2010 at 08:04:28PM -0400, Rick Macklem wrote:
> > 
> > Weird, I don't see that here. The only thing I can think of is that the
> > experimental client/server will try to do I/O at the size of MAXBSIZE
> > by default, which might be causing a burst of traffic your net interface
> > can't keep up with. (This can be turned down to 32K via the
> > rsize=32768,wsize=32768 mount options. I found this necessary to avoid
> > abissmal performance on some Macs for the Mac OS X port.)
> 
> I just ran into the speed problem again after remounting.  This time
> I tried to do a "make buildworld" and make got stuck on [newnfsreq] for
> ten minutes, with no other filesystem activity on either client or server.
> 
> The file system corruption is still pretty bad.  I can no longer build any
> ports on one machine, because after the port is extracted, the config.sub
> files are being filled with all zeros.  It took me awhile to track this
> down while trying to build devel/libtool22:
> 
> + ac_build_alias=amd64-portbld-freebsd8.1
> + test xamd64-portbld-freebsd8.1 = x
> + test xamd64-portbld-freebsd8.1 = x
> + /bin/sh libltdl/config/config.sub amd64-portbld-freebsd8.1
> + ac_cv_build=''
> + printf '%s\n' 'configure:4596: result: '
> + printf '%s\n' ''
> 
> + as_fn_error 'invalid value of canonical build' 4600 5
> + as_status=0
> + test 0 -eq 0
> + as_status=1
> + test 5
> 
> And although my work dir is on local disk,
> 
> % hd work/libtool-2.2.6b/libltdl/config/config.sub:
> 
> 00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> |................|
> *
> 00007660
> 
> Again, my ports tree is mounted as FSType nfs with option nfsv4.
> FreeBSD/amd64 8.1-PRERELEASE r208408M GENERIC kernel.

This sounds like NFSv4 is "tickling" some kind of bug in your NIC driver
but I'm not entirely sure.  Can you provide output from:

1) ifconfig -a  (you can X out the IPs + MACs if you want)
2) netstat -m
3) vmstat -i
4) prtconf -lvc  (only need the Ethernet-related entries)
5) sysctl dev.XXX.N  (ex. for em0, XXX=em, N=0)

And also check "dmesg" to see if there's any messages the kernel has
been spitting out which look relevant?  Thanks.

-- 
| Jeremy Chadwick                                   jdc@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




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