NFS vs communications meduim (was slashes, then NFS devices)

David Burren [Athos] david at bacchus.esa.oz.au
Mon Mar 18 13:35:30 AEST 1991


In <11030 at dog.ee.lbl.gov> torek at elf.ee.lbl.gov (Chris Torek) writes:

>The bandwidth of your standard, boring old Ethernet is 10 Mb/s or 1.2
>MB/s.

Say what?  If you can get over 1 Mb/s out of an Ethernet I'd like to hear
about it.

As a simple test, on a barely-loaded Ethernet (5 Sony workstations, with two
people running vi) I ftp'ed a >400k file from one machine to another.
Local SCSI disk to local RAM disk.  No NFS involved.  The transfer rate I
got was was 94 kbytes/s. (strange, considering the 270 kb/s NFS throughput
shown below)
I know this is a poor test, but it indicates a ballpark figure MUCH less than
1 Mb/s.

On a busy Ethernet I'd expect IP performance to fall _far_ short of 1 Mb/s,
as collisions take their toll.


>The bandwidth of your standard, boring old SCSI disk without
>synchronous mode is around 1.5 MB/s.

Using the bonnie filesystem-benchmark on our local SCSI disks shows writes
ranging from 200 kb/s (for char-by-char) to >600 kb/s (block I/O) and reads
from 150 kb/s (character) to >600 kb/s (block).
This is with Wren-IV's and M9380S's using asynchronous SCSI.  Note that
bonnie measures *through-the-filesystem* performance.

I ran bonnie again, over NFS/Ethernet (onto a workstation with 8 Mb RAM).  By
this stage there were about 5 users on the net, running a mix of vi, nn,
xmahjongg, etc.
Block writes came in at about 50 kb/s (not surprising really) while reads
showed ~150 kb/s (character) and ~270 kb/s (block).  This was for a 40 Mb
file, and no I didn't do the test more than once.


>The latency on your Ethernet is
>typically much *lower* than that on your standard boring SCSI
>controller (which probably contains a 4 MHz 8085 running ill-planned
>and poorly-written code, whereas your Ethernet chip has a higher clock
>rate and shorter microcode paths.)

Which distinguishes older SCSI/ST506 implementations from the newer
embedded-SCSI disks.  I wonder which is more prevalent in today's machines?
Also, see my comment above re Ethernet collisions.


>In other words, they are fairly closely matched.

I beg to differ.  Of course, the hardware here may be atypical.
That aside, I agree that NFS performance is probably less than optimal.


>There are many different answers to this question, but one of the most
>important is one of the easiest to cure.

>A good TCP implementation, on the other hand, squeezes about 1.1 MB/s
>out of the Ethernet even when talking to user code (talking to user code
>is inherently at least slightly more expensive than talking to kernel
>code, because you must double-check everything so that users cannot
>crash the machine).  This is 92% of the available bandwidth.

Could you please refer me to such a TCP implementation?
The figures I've quoted above were on Sony NEWS-1750 workstations, running
NEWS-OS 3.3a (basically 4.3BSD-Tahoe, I believe).
_____________________________________________________________________________
David Burren [Athos]                          Email: david at bacchus.esa.oz.au
Software Development Engineer                 Phone: +61 3 819 4554
Expert Solutions Australia, Hawthorn, VIC     Fax:   +61 3 819 5580

[Above opinions and comments are mine, not ESA's.]



More information about the Comp.unix.internals mailing list