Bad performance of 7.0 nfs client with Solaris nfs server

Kris Kennaway 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
> noatime,async,-i,rw,-T,-3
> 
> 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
> /mnt/nest.xx.xx/iozone.bsd7/iozone.tmp
> 
> FreeBSD 7:
> 
> 	File stride size set to 17 * record size.
>                                                             random
> 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@

Kris


More information about the freebsd-questions mailing list