Date: Thu, 05 Oct 2006 17:07:19 +0200 From: Heinrich Rebehn <rebehn@ant.uni-bremen.de> To: Heinrich Rebehn <rebehn@ant.uni-bremen.de> Cc: freebsd-amd64@freebsd.org Subject: Re: NFS client slow on amd64 6.2-PRERELEASE #2 Message-ID: <45251FA7.6050000@ant.uni-bremen.de> In-Reply-To: <4523764E.3070309@ant.uni-bremen.de> References: <4523764E.3070309@ant.uni-bremen.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Heinrich Rebehn wrote: > Hi list, > > despite recent improvements with the nfs code, client performance still > seems to be a problem. I am getting < 2 MB/sec where i would expect at > least 10 MB/sec. > > My Setup: > > Machine | ANTSRV1 | ANTSRV2 > ================================================== > Board | Tyan 2882-D | ASUS A7V8X-X > CPU | Opteron 246 | Athlon XP1800+ > Mem | 2G | 1G > NIC | Broadcom BCM5704C | Intel PRO/1000MT > > OS:6.2-PRERELEASE #2 as of 01-OCT-2006 > 64Bit OS on ANTSRV1, 32Bit on ANTSRV2 > > The 2 machines are connected via a 1GB switch > > ============================ > Trying UDP first > ============================ > root@antsrv1 [/tmp] # mount_nfs -U -L antsrv2:/export/disk2 /mnt > root@antsrv1 [/tmp] # rm /mnt/x/* > root@antsrv1 [/tmp] # time dd if=/dev/zero of=/mnt/x/10MB.dat bs=1M > count=10 > 10+0 records in > 10+0 records out > 10485760 bytes transferred in 4.967248 secs (2110980 bytes/sec) > > real 0m5.253s > user 0m0.005s > sys 0m0.022s > root@antsrv1 [/tmp] # time dd if=/dev/zero of=/mnt/x/100MB.dat bs=1M > count=100 > 100+0 records in > 100+0 records out > 104857600 bytes transferred in 69.020366 secs (1519227 bytes/sec) > > real 1m9.276s > user 0m0.028s > sys 0m0.211s > > ============================== > Now TCP > ============================== > root@antsrv1 [/tmp] # umount /mnt > root@antsrv1 [/tmp] # mount_nfs -T -L antsrv2:/export/disk2 /mnt > root@antsrv1 [/tmp] # rm /mnt/x/* > root@antsrv1 [/tmp] # time dd if=/dev/zero of=/mnt/x/10MB.dat bs=1M > count=10 > 10+0 records in > 10+0 records out > 10485760 bytes transferred in 5.289492 secs (1982376 bytes/sec) > > real 0m5.312s > user 0m0.001s > sys 0m0.023s > root@antsrv1 [/tmp] # time dd if=/dev/zero of=/mnt/x/100MB.dat bs=1M > count=100 > 100+0 records in > 100+0 records out > 104857600 bytes transferred in 58.715595 secs (1785856 bytes/sec) > > real 0m58.740s > user 0m0.000s > sys 0m0.204s > > =============================== > SCP > =============================== > root@antsrv1 [/tmp] # scp 100MB.dat antsrv2:/tmp/x > Password: > 100MB.dat 100% 100MB > 11.1MB/s 00:09 > > =============================== > Iperf > =============================== > root@antsrv1 [~] # iperf -c antsrv2 > ------------------------------------------------------------ > Client connecting to antsrv2, TCP port 5001 > TCP window size: 32.5 KByte (default) > ------------------------------------------------------------ > [ 3] local 134.102.176.16 port 59123 connected with 134.102.176.17 port > 5001 > [ 3] 0.0-10.0 sec 743 MBytes 623 Mbits/sec > > NFS from a Linux machine (Kernel 2.6.17.8) (connected via 10Mb LAN) > yields a constant value of ~10MB/sec (TCP and UDP), so the FreeBSD NFS > server seems to be ok. > > ================================= > Reversing the setup > ================================= > root@antsrv2 [~] # mount_nfs -L -U antsrv1:/export/huge/x /mnt > root@antsrv2 [~] # time dd if=/dev/zero of=/mnt/10MB.dat bs=1M count=10 > 10+0 records in > 10+0 records out > 10485760 bytes transferred in 0.533470 secs (19655758 bytes/sec) > > real 0m0.547s > user 0m0.001s > sys 0m0.085s > root@antsrv2 [~] # time dd if=/dev/zero of=/mnt/100MB.dat bs=1M count=100 > 100+0 records in > 100+0 records out > 104857600 bytes transferred in 7.647475 secs (13711401 bytes/sec) > > real 0m7.673s > user 0m0.000s > sys 0m0.920s > root@antsrv2 [~] # umount /mnt > root@antsrv2 [~] # mount_nfs -L -T antsrv1:/export/huge/x /mnt > root@antsrv2 [~] # rm /mnt/* > root@antsrv2 [~] # time dd if=/dev/zero of=/mnt/10MB.dat bs=1M count=10 > 10+0 records in > 10+0 records out > 10485760 bytes transferred in 0.524917 secs (19976030 bytes/sec) > > real 0m0.557s > user 0m0.000s > sys 0m0.085s > root@antsrv2 [~] # time dd if=/dev/zero of=/mnt/100MB.dat bs=1M count=100 > 100+0 records in > 100+0 records out > 104857600 bytes transferred in 5.723110 secs (18321787 bytes/sec) > > real 0m5.756s > user 0m0.000s > sys 0m0.704s > > > This yields much better results. Could this be a 64bit-specific problem? > > Both machines have statd and lockd running. > > Any ideas where i could tune? > Hmm, no one? Is 2MB/s on a Gbit link all i can expect on FreeBSD? --Heinrich
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45251FA7.6050000>