kern/97686: massive NFS server performance break under "options
QUOTA"
Ralf S. Engelschall
rse at FreeBSD.org
Tue May 23 12:00:43 UTC 2006
>Number: 97686
>Category: kern
>Synopsis: massive NFS server performance break under "options QUOTA"
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue May 23 12:00:39 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Ralf S. Engelschall
>Release: FreeBSD 6.1-STABLE i386
>Organization:
FreeBSD
>Environment:
System: FreeBSD sv0 6.1-STABLE FreeBSD 6.1-STABLE #0: Tue May 23 12:05:59 CEST 2006 root at sv0:/usr/obj/usr/src/sys/SV0 i386
>Description:
After an upgrade we experienced massive serious NFS server problems
on a NFS server under FreeBSD 6.1-STABLE (as of 2006-05-23). It
still worked fine (exactly same kernel configuration) under FreeBSD
5.4-STABLE (as of about December 2005).
The effect is that the machine becomes totally unusable (nearly a
system freeze) after about 10 minutes of just moderate NFS traffic
of a single NFS client. We figured out that once the "options QUOTA"
was removed from the kernel configuration the machine performance
was 100% ok and we do not experience any performance breaks again.
Even disabling SMP or deconfiguring all Netgraph configurations (for
interface bundling and Netflow statistics) caused no effect. Only the
"options QUOTA" caused the problem and its removal finally fixed the
problem.
There seems to be a strange interaction between NFS and UFS Quotas...
>How-To-Repeat:
- build a FreeBSD 6.1 kernel with "options QUOTA" and "options NFSSERVER".
- configure nfs_server_enable="YES" and nfs_server_flags="-u -n 8" in rc.conf.
- cause some usual NFS traffic by unpacking a large distribution
tarball (lots of small files), removing lots of files or just doing a
"cvs update" in a large source tree.
- in parallel on the NFS server watch a steadily increasing CPU
utilitzation from nfsd(8) and about 45% of "CPU time in system
mode" (= "sy") in "iostat 1" outputs (numbers on a 2 CPU HP DL380
box). Also the system loads increases steadily up to 15-20.
- after maximally 10 minutes the box becomes more and more totally
unusable. Even typing in the SSH session becomes a problem. Once
the NFS traffic is stopped, the machines becomes usable within
30-60 seconds again.
>Fix:
workaround by removing "options QUOTA" from the kernel configuration
the machine works fine and no performance problems occur at all. With
the above "How-To-Repeat" procedure the NFS performance is fully ok
and the NFS server itself also never reaches any high loads. Also
"iostat 1" shows never a "CPU time in system mode" of more than 5%.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list