[NCLUG] NFS Questions

Michael Coffman coffman at ftc.avagotech.com
Wed Sep 2 10:30:15 MDT 2009


Hi,

I am in need of some help gaining a better understanding of NFS.   Any 
input is appreciated.

I have started to see issues related to nfs attribute caching and am 
wondering how to better analyze the issue and some possible settings or 
workarounds to help out with performance.  The basic setup is pretty 
simple.  The following assumes a file system is mounted from file server C 
to each client as /mnt/c/data.

                 -----------
                | File      |
                | Server C  |
                /-----------\
               /             \
        ------/               \------
       |Client|               |Client|
       |   A  |               |  B   |
        ------                 ------

The issue (maybe not so much an issue as expected behavior) that I want
to better understand.

1 - On Client A - touch /mnt/c/data/testfile;rm /mnt/c/data/testfile; ssh 
clientB touch /mnt/c/data/testfile
2 - On Client A - ls /mnt/c/data/testfile

Pretty simple.  Our clients are currently configured using default values 
for acreg{min,max} and acdir{min,max}.  Currently the above test can take 
as long as 60 seconds for the new version of testfile to show up in the 
listing.   The error can be reproduced in a number of ways beyond this 
example.

Questions:

- Is is possible to cause an nfs client to flush its directory or file
   attribute caches? 
- Is there a way to zero out the nfs traffic counters that nfsstat says it
   can't error out?
- Is there any way to tell the actual cache hit rate of attributes on the
   client?

Googling I did found the following info:

   echo 1 > /proc/sys/vm/drop_caches # free pagecache
   echo 2 > /proc/sys/vm/drop_caches # free dentries and inodes
   echo 3 > /proc/sys/vm/drop_caches # free pagecache, dentries and inodes

But it did not seem to do what I wanted which is instantly expire or flush 
the cache entries...

I know that reducing the attr* values to 0 will achieve what I want, but
I am afraid of what that will do to the load on my file servers and am 
note certain about the best way to approach testing this.

Any help or pointers would be greatly appreciated...

-------------------------------------------
Detailed Info:
  OS I am using: RHEL4 update 5

Client Running:
  am-utils-6.0.9-15.RHEL4

File servers:
  HPUX
  NetApp

Client Mount Options:
  rw,v3,rsize=32768,wsize=32768,hard,intr,lock,proto=tcp,tcp,timeo=600,retrans=3

Thanks...
-- 
-MichaelC



More information about the NCLUG mailing list