Bad performance of 7.0 nfs client with Solaris nfs server
kris at FreeBSD.org
Tue Feb 19 19:53:20 UTC 2008
Valerio Daelli wrote:
> Hi list
> we have a FreeBSD 7.0 NFS client (csup today, built world and kernel).
> It mounts a Solaris 10 NFS share.
> We have bad performance with 7.0 (3MB/s).
> We have tried both UDP and TCP mounts, both sync and async.
> This is our mount:
> nest.xx.xx:/data/export/hosts/bsd7.xx.xx/ /mnt/nest.xx.xx nfs
> Both our server (7.0 and Solaris 10) are Gigabit Ethernet, both are HP
> Proliant DL360 i386 (NIC bge0):
> FreeBSD 7.0:
> [eldon at bsd7 ~]$ uname -a
> FreeBSD bsd7.xx.xx 7.0-RC2 FreeBSD 7.0-RC2 #1: Mon Feb 18 17:46:46 CET
> 2008 root at bsd7.xx.xx:/usr/obj/usr/src/sys/BSD7 i386
> This is our performance with iozone:
> command line:
> iozone -+q 1 -i 0 -i 1 -n 2048 -g 2G -Raceb iozone.xls -f
> FreeBSD 7:
> File stride size set to 17 * record size.
> random bkwd record stride
> KB reclen write rewrite read reread read
> write read rewrite read fwrite frewrite fread freread
> 2048 1024 109883 101289 769058 779880
> 2048 2048 3812 3674 760479 767066
> 4096 1024 111156 106788 724692 728040
> 4096 2048 3336 2241 157132 733417
> 4096 4096 2829 3364 699351 699807
> As you can see, while with record length less than 1024KB the speed is
> 'fast', with record of 2048 or more (I've tried with record much
> bigger) we get only
> 3 MB/s.
> Is this a known issue? If you need more details please contact me, I
> am willing to do more tests to risolve this problem.
Can you characterize what is different about the NFS traffic when
FreeBSD and Solaris are the clients? Does other network traffic to the
server perform well? 2048 bytes records are > the 1500 byte MTU, so you
will be invoking packet fragmentation and reassembly. Maybe you are
getting packet loss for some reason. What does netstat say about
interface errors on the bge, and for the protocol layers?
Follow-ups set to performance@
More information about the freebsd-performance