Date: Wed, 23 Nov 2016 22:17:25 -0700 From: Alan Somers <asomers@freebsd.org> To: FreeBSD CURRENT <freebsd-current@freebsd.org> Subject: NFSv4 performance degradation with 12.0-CURRENT client Message-ID: <CAOtMX2jJ2XoQyVG1c04QL7NTJn1pg38s=XEgecE38ea0QoFAOw@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
I have a FreeBSD 10.3-RELEASE-p12 server exporting its home directories over both NFSv3 and NFSv4. I have a TrueOS client (based on 12.0-CURRENT on the drm-next-4.7 branch, built on 28-October) mounting the home directories over NFSv4. At first, everything is fine and performance is good. But if the client does a buildworld using sources on NFS and locally stored objects, performance slowly degrades. The degradation is most noticeable with metadata-heavy operations. For example, "ls -l" in a directory with 153 files takes less than 0.1 seconds right after booting. But the longer the buildworld goes on, the slower it gets. Eventually that same "ls -l" takes 19 seconds. When the home directories are mounted over NFSv3 instead, I see no degradation. top shows negligible CPU consumption on the server, and very high consumption on the client when using NFSv4 (nearly 100%). The NFS-using process is spending almost all of its time in system mode, and dtrace shows that almost all of its time is spent in ncl_getpages(). I have delegations disabled on the server. On the client, the home directories are nullfs mounted to two additional locations, and the buildworld was actually using one of those nullfs mounts, not the NFS mount directly. Any ideas? -Alan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2jJ2XoQyVG1c04QL7NTJn1pg38s=XEgecE38ea0QoFAOw>