Path: utzoo!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!spool.mu.edu!munnari.oz.au!mel.dit.csiro.au!yarra!bacchus!david From: david@bacchus.esa.oz.au (David Burren [Athos]) Newsgroups: comp.unix.internals Subject: Re: NFS vs communications meduim (was slashes, then NFS devices) Message-ID: <2028@bacchus.esa.oz.au> Date: 18 Mar 91 03:35:30 GMT Article-I.D.: bacchus.2028 References: <1991Mar9.170841.4042@panix.uucp> <11030@dog.ee.lbl.gov> Organization: Expert Solutions Australia Lines: 72 In <11030@dog.ee.lbl.gov> torek@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@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.]