[KLUG Members] Re: Two questions -- NFS "spec" v. Linux implementation

Bryan-TheBS-Smith members@kalamazoolinux.org
Tue, 11 Dec 2001 17:37:34 -0500


Adam Williams wrote:
> What are the settings of rsize and wsize.  Set these to 8192
> Are you using nfs version 2 or 3?  Three is faster (nfsvers=3).

Depends if you are talking NFS v2/3 "spec" or Linux's NFS v2/3
implementations.

NFS v2 is supposed to be sync -- i.e. waits until data is written to
disk before responding.  Linux's NFS v2 server implementation is not
spec at all, it does async where it immediately acknowledges a write
once the server gets the data.

NFS v3 is still sync by default, but has the option of async -- i.e.
does not have to wait until the data is written, although it will later
come back and tell the client that the data was written when it is. 
Linux 2.2's NFS v3 server "backport" (2.2.x+Trond/Higgen patches as well
as all kernels 2.2.18+) actually only suports sync, so it is slower.

Linux 2.4's NFS v3 server does both, and performance improves to Linux
NFS v2 speeds.  2.4 also addresses 32-bit issues (v2 is 32-bit and v3 is
supposed to be 64-bit, but the 2.2 backport didn't always handle it
right), and supports both UDP and TCP (2.2 backport only supported UDP).

Always make sure you are:
- Using a well-tested 2.4.x release
- UDP (unless you route or have a congested network)
- Use a blocksize of 8192

-- TheBS

-- 
Bryan "TheBS" Smith    mailto:b.j.smith@ieee.org   chat:thebs413
Engineer  AbsoluteValue Systems, Inc.  http://www.linux-wlan.org
President     SmithConcepts, Inc.   http://www.SmithConcepts.com
----------------------------------------------------------------
"Men tend to be better at dealing with visual concepts, while
 women are better at complex lignuistic communication.  Yes,
 men are from Macs, women are from VMS." -- Erwin, User Friendly