NFS performance: a question

Don Speck mangler at cit-vax.Caltech.Edu
Sun Feb 14 18:08:06 AEST 1988


In article <63500011 at convex>, berliner at convex.UUCP writes:
> At CONVEX, we have a special variable which can be patched on a running
> system (or built in during system configuration) which enables the
> CONVEX NFS server to operate asynchronously.	That is, to NOT do a
> synchronous write, but rather simply queue the write request in the
> buffer cache to be written to permanent disk storage at some later
> time (marked delayed-write).

This is unnecessarily risky; it could probably be handled better in
the client.  In conventional Unix filesystems, bufs for writing file
blocks are marked B_ASYNC, and nobody is waiting for them to complete;
so if the acknowledges are slow in coming, that shouldn't inhibit the
client from sending some more to the server.  The client should blast
data at the server until one of server or client cannot keep track of
more outstanding requests.  Unfortunately, the default limit on the
amount of unacknowledged outstanding requests is a mere 6K!  It may
help to raise this, if the server's ethernet board has enough buffering,
but what is really needed is two kinds of acknowledges, one that says
    "Your request is completed",
and a new one that says
    "I can accept another N kilobytes of requests"
(much like TCP's notion of a "window").  Having the latter would
obviate the need to specify rsize and wsize when mounting an
NFS filesystem.  Anyone who owns 3com's would appreciate that.

Don Speck   speck at vlsi.caltech.edu  {amdahl,ames!elroy}!cit-vax!speck



More information about the Comp.unix.wizards mailing list