On Fri, 29 Sep 2006, Ben Rockwood wrote:

Hey Guys,

I'm trying to tune my NFS enviroment and have yet to make any improvement,  I 
was hoping someone could offer some experience in this situation.

 Here's the problem: I've got a bunch of X4100 clients (NV_B43)  and a Thumper 
(NV_B43) NFS server using ZFS for storage.  I'm currently using NFSv3 TCP.  
Sequential read and write performance is excellent (100MB/s+) but creating a 
large number of files, namely untar'ing something, is just dog slow.  Because 
people tend to use tar more than they create 10G sequential files, people are 
complaining about the horrible performance.

 I've created a duplicate test enviroment to do some tweeks but after two days 
of playing with it I have yet to find the proper combination of tuning tweeks 
to make this sing.  Tar performance on the local disk is amazing, so its purely 
an NFS issue.

 I've tried tuning the nfs:nfs3 params in /etc/system on both the server and 
client, but nothing helps.  I've tried setting ncsize=2097152 on the server but 
that didn't help.  I increased NFSD_SERVERS on the server to 1024 and  set 
nfs:nfs3_max_threads=16 on the client, but that didn't help.

 If you look at the server side stats following a tar operation its obvious 
that read and write performance aren't really my problem so much as 
getattr/setattr/lookup.

Server Stats:
Version 3: (20512 calls)
null        getattr     setattr     lookup      access      readlink
1 0%        3730 18%    3635 17%    3867 18%    261 1%      0 0%
read        write       create      mkdir       symlink     mknod
345 1%      2560 12%    1752 8%     132 0%      17 0%       0 0%
remove      rmdir       rename      link        readdir     readdirplus
1915 9%     132 0%      0 0%        146 0%      0 0%        267 1%
fsstat      fsinfo      pathconf    commit
1 0%        1 0%        0 0%        1750 8%


Does anyone have some tips? I've tried everything that I've found on Google, the forums, etc, and nothings yielding results. I'm sure its something simple but I haven't found it yet.

Is it possible to move to NFSv4? Compound operations may provide some benefit, since the NFSv4 implementation groups procedures to reduce the number of frames sent between the client and server (therefore reducing latency). If your looking to see which NFSv3 procedures are taking the most time, take a look at the nfstrace script I developed:

http://prefetch.net/code/nfstrace

I have been using this for quite some time to profile workloads at my POE, and have found it useful for identifying which clients would benefit from file and directory attribute cache adjustments.

Thanks,
- Ryan
--
UNIX Administrator
http://prefetch.net

_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to