Why is NFSv4 so slow?

Oliver Fromme olli at lurza.secnetix.de
Mon Sep 13 15:03:44 UTC 2010


Rick Macklem wrote:
 > Btw, if anyone who didn't see the posting on freebsd-fs and would
 > like to run a quick test, it would be appreciated.
 > Bascially do both kinds of mount using a FreeBSD8.1 or later client
 > and then read a greater than 100Mbyte file with dd.
 > 
 > # mount -t nfs -o nfsv3 <server>:/path /<mnt-path>
 > - cd anywhere in mount that has > 100Mbyte file
 > # dd if=<file> of=/dev/null bs=1m
 > # umount /<mnt-path>
 > 
 > Then repeat with
 > # mount -t newnfs -o nfsv3 <server>:/path /<mnt-path>
 > 
 > and post the results along with the client machine's info
 > (machine arch/# of cores/memory/net interface used for NFS traffic).
 > 
 > Thanks in advance to anyone who runs the test, rick

Ok ...

NFS server:
 - FreeBSD 8.1-PRERELEASE-20100620 i386
 - intel Atom 330 (1.6 GHz dual-core with HT --> 4-way SMP)
 - 4 GB RAM
 - re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet>

NFS client:
 - FreeBSD 8.1-STABLE-20100908 i386
 - AMD Phenom II X6 1055T (2.8 GHz + "Turbo Core", six-core)
 - 4 GB RAM
 - re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet>

The machines are connected through a Netgear GS108T
gigabit ethernet switch.

I umounted and re-mounted the NFS path after every single
dd(1) command, so the data actually comes from the server
instead of from the local cache.  I also made sure that
the file was in the cache on the server, so the server's
disk speed is irrelevant.

Testing with "mount -t nfs":

183649990 bytes transferred in 2.596677 secs (70725002 bytes/sec)
183649990 bytes transferred in 2.578746 secs (71216779 bytes/sec)
183649990 bytes transferred in 2.561857 secs (71686277 bytes/sec)
183649990 bytes transferred in 2.629028 secs (69854708 bytes/sec)
183649990 bytes transferred in 2.535422 secs (72433702 bytes/sec)

Testing with "mount -t newnfs":

183649990 bytes transferred in 5.361544 secs (34253192 bytes/sec)
183649990 bytes transferred in 5.401471 secs (33999996 bytes/sec)
183649990 bytes transferred in 5.052138 secs (36350946 bytes/sec)
183649990 bytes transferred in 5.311821 secs (34573829 bytes/sec)
183649990 bytes transferred in 5.537337 secs (33165760 bytes/sec)

So, nfs is roughly twice as fast as newnfs, indeed.

Best regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart

FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd

"A language that doesn't have everything is actually easier
to program in than some that do."
        -- Dennis M. Ritchie


More information about the freebsd-fs mailing list