NFS performance: a question

Stephen X. Nahm sxn%ingersoll at Sun.COM
Tue Feb 2 06:41:37 AEST 1988


In article <663 at noao.UUCP> brown at noao.arizona.edu (Mike Brown) writes:
>Why is the transfer rate when a process writes to a remote NFS file 3-4 times
>smaller than the transfer rate when reading a remote NFS file?
>
>	- Is this asymmetry a characteristic of NFS?

Yes.  Here's a quote from ``The Sun Network Filesystem: Design,
Implementation and Experience'' by Russel Sandberg:

``Much of the development time of NFS has been spent in improving
performance.  Our goal was to make NFS comparable in speed to a small
local disk.  The speed we were interested in is not raw throughput,
but how long it takes to do normal work.''

There is then a discussion of performance tweaks that were made,
concluding with:

``With these improvements, a diskless Sun-3 (68020 at 16.67 MHz.)
using a Sun-3 server with a Fujitsu Eagle disk, runs the benchmarks
faster than the same Sun-3 with a local Fujitsu 2243AS 84 Megabyte
disk on a SCSI interface.''

Then:

``The 'write' [NFS operation] is slow because it is synchronous on
the server.  Fortunately, the number of write calls in normal use is
very small (about 5% of all calls to the server) so it is not
noticeable unless the client writes a large remote file.''

Finally:

``Since many people base performance estimates on raw transfer speed
we also measured those.  The current numbers on raw transfer speed
are: 250 kilobytes/second for read and 60 kilobytes/second for write
on a Sun-3 with a Sun-3 server.''

The factors you should be aware of are: NFS implementation, CPU
bandwidth (both server and client), and type of disk involved (both
server and client).

>The transfer rates were:	reading (110-90 Kbytes/sec)
>				writing (20-25 Kbytes/sec)

Your ratios match well with what Rusty reported in his paper (his was
about 4.1 read-to-write, and yours is about 4.4).  Perhaps the
CPU bandwidth of your client and server is the limiting factor.

>	- Do Ultrix(2.0) and 4.3BSD/NFS from Mt. Xinu both have brain damaged
>		NFS implementations?

I believe both are based on Sun's reference port.  We port SunOS NFS
to vanilla 4.2 and 4.3BSD.  The licensees use that as a reference in
building their own product.

>	- Is my test brain damages?

Not if this represents the typical kind of work you do.  However a
fairer benchmark would be real work, like doing compiles, nroffs,
whatever.

Steve Nahm                              sxn at sun.COM or sun!sxn
Portable ONC/NFS



More information about the Comp.unix.wizards mailing list