kern/131360: [nfs] poor scaling behavior of the NFS server under load

Robert Watson rwatson at
Sun Mar 1 11:10:03 PST 2009

The following reply was made to PR kern/131360; it has been noted by GNATS.

From: Robert Watson <rwatson at>
To: FreeBSD-gnats-submit at
Subject: Re: kern/131360: [nfs] poor scaling behavior of the NFS server under
Date: Sun, 1 Mar 2009 19:06:25 +0000 (GMT)

 On Wed, 4 Feb 2009, Martin Birgmeier wrote:
 > 	[Please note that the email address given is not valid due
 > 	to security reasons. Just reply to the gnats entry, and
 > 	I'll follow it via the web interface.]
 > 	Between FreeBSD 6.3 and 7.1, the behavior of the NFS server
 > 	changed for the worse. Under 6.3, the load generated by the
 > 	nfsd's would never exceed their number (I am using
 > 	nfs_server_flags="-u -t -n 8"). With 7.1, when the client
 > 	generates a lot of requests, it seems that the load on the
 > 	NFS server can grow nearly without bounds, rendering the
 > 	server all but unusable.
 Hi Martin:
 Could I ask you to clarify a few things about the NFS server configuration:
 - What device/device driver is on the server?
 - Is the mount over TCP or UDP?
 There are a number of changes between 7.0, one of the potential changes to 
 look at is the increased UDP parallelism support due to read-locking in the 
 UDP stack overwhelming the capabilities of some device/device drivers.  We've 
 had a couple of reports of this specifically with the bge driver.  If you're 
 using UDP, converting to TCP would be interesting; if it's bge, then we could 
 give you a patch to locally revert the read-locking changes to see if that 
 helps manage contention better (i.e., more contention higher on a sec of locks 
 moves the contention off the single device driver lock).
 Robert N M Watson
 Computer Laboratory
 University of Cambridge

More information about the freebsd-fs mailing list