Thanks for the reply Guy,
I read through the FreeBSD list link you sent and experimented with the settings and it unfortunately produced no difference in performance.
Below are my settings for /etc/nfs.conf on my 10.8 client. I know I'm setting some default values like tcp and vers=3, just wanted to rule them out.
# Generated automatically by NFS Manager 2013-10-16 14:39:45 +0000
nfs.client.allow_async = 1
nfs.client.mount.options = noatime,tcp,vers=3,rsize=32768,wsize=32768,rdirplus,locallocks,inet,nfc
nfs.client.statfs_rate_limit = 1
nfs.client.is_mobile = 0
I have attempted to set nfs.client.nfsiod_thread_max = 1 and the default of 16, neither has made an impact on performance.
I have been logged on for only 46 minutes and this is what my nfsstat -c output looks like. The FreeBSD-fs list is correct that the mac clients produce a heck of a lot of getattr and access requests.
Client Info:
RPC Counts:
Getattr Setattr Lookup Readlink Read Write
815647 1628 7750 10 8327 9488
Create Remove Rename Link Symlink Mkdir
884 562 468 44 3 2
Rmdir Readdir RdirPlus Access Mknod Fsstat
4 0 966 477134 0 2329
Fsinfo PathConf Commit
1 1 0
RPC Info:
TimedOut Invalid X Replies Retries Requests
0 0 0 0 1325248
Cache Info:
Attr Hits Misses Lkup Hits Misses BioR Hits Misses
6419016 28287 242318 7156 2181527 8130
BioW Hits Misses BioRLHits Misses BioD Hits Misses
39559 9488 1572 10 114987 2290
DirE Hits Misses
35356 14