Tuning NFS for minimum latency

How can I achieve low latency for NFS exports in order to e.g. have developers work nicely in Eclipse/Visual Studio with their workspaces mounted over NFS?


Solution 1:

This sounds like you're still in the design stage. If that's true, a few things to look at are:

  • NFSv3/4 over NFSv2, to allow for larger packets, and features like "safe asynchronous write"
  • Check your NFS client for read-ahead and delayed write, both of those features will help
  • Obviously keep network latency low - GBit connections over a fast switch
  • Make sure your NFS server is tuned for speed. That's both the NFS implementation, and how it is configured.

There's a good NFS FAQ, including some tuning tips, over yonder: http://nfs.sourceforge.net/

Solution 2:

Don't compile over NFS. NFS performance is usually a factor of the disk I/O performance and compiling is what's going to drive your number of file I/O ops.

If you can't avoid that, caching is what will save the day. Cram that NFS server as full of RAM as you can, use asynchronous writes and enable all caching you can client-side. The fact is that a RAID is no better at handling (non-cached) disk operations then a single hard disk. And with the small file sizes of a compilation workload, combined throughput won't change a thing.