3

We had a NFS server at work which was working with slight lag. However as more mount points were getting created at several clients(serviced by the same server) we noticed the performance coming to a screeching halt with more users not being able to mount or cd to the mounted NFS. My question is can several NFS points on several client machines (even if idle) affect the performance? If yes, how it would affect?

2 Answers 2

1

Yes, having more clients can affect IO. NFS have a finite amount of NFS IOD's, limited by RPCNFSDCOUNT= (location varies with distro). The NFSD Count has a point of diminishing returns however, depending on how many clients are mounting with async vs. sync and what they are doing. On your NFS server, you can see them blocking with ps auxw|grep D to find the NFSD's in uninteruptable sleep. You can also see your run queue increase when this occurs. You will also see blocked processes (second column of vmwstat). You mentioned that they are idle, but are you certain of this by watching network and rpcinfo stats?

You might try increasing RPCNFSDCOUNT and restarting nfsd to see if the effect decreases.

2
  • I do not have the privileges to access the NFS server. When I said "idle" I meant no operations being done on the NFS mount by clients. Do they still generate traffic (like "heartbeat" for example)? Aug 22, 2015 at 12:04
  • Not by default, no. That is why folks generally try to avoid NFS through firewalls. No keep-alive for each connection when using TCP and UDP virtual state-tables are generally short lived. it is up to the client to make some noise.
    – Aaron
    Aug 24, 2015 at 15:23
0

Idle client mountpoints should not affect your NFS server performance since they cause no I/O. They only use a very small amount of memory to hold the mount state.

You should really make sure those clients are 'idle'. It's not uncommon to have some kind of crawler (mlocate/slocate, desktop indexers and so on) on a client machine not smart enough to avoid an NFS mountpoint.

Also some file change notification systems on clients will automatically poll your NFS server, because there is no callback mechanism provided by NFS for this purpose.

More funnily, a full scan could be done from every completion attempt on a shell if a mountpoint would appear in client's PATH.

And so on.

NFS is mostly transparent for clients, thus the ways I've seen people hitting NFS mounts - even without them know it - are countless.

If your clients are Unices, try watch -n2 nfsstat -c to check the NFS I/O they submit.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .