3C905B-TX (nfs/netperf problem)
Robert G. Brown
Thu Jul 23 10:49:48 1998
On Wed, 22 Jul 1998, Rob Riggs wrote:
> > I have encountered a problem of network performance of Linux using
> > 3C905B-TX card. Could someone help me ?
> I hope so...
> > (1) In configuring the PC(Linux) as NFS client, the NFS read (read
> > file from NFS mounted disk to local disk) performance is reasonable,
> > while the NFS write (Write file from local disk to NFS mounted disk)
> > performance seems to be very slow. (about 200 KB/s on 100Mbps
> > connection) In the same pc, if I boot the Solaris 2.6, the NFS
> > performance for read and write seems to be reasonable.
> Try mounting the nfs partition with '-o rsize=8192,wsize=8192'
> and see if that helps. Let me know if this fixes the NFS
It doesn't ever "fix" the problem, but it does ameliorate it from the
ridiculous. A bit. We've been living with this problem forever. I
just don't do big writes into my (NFS mounted from Solaris) home
directory -- if I do a network download, it is strictly into (local)
/tmp. If I need to, I can do a leisurely background cp into my home
Seriously, WITH the tuning described above I get about 160 KB/sec
(over yes, a switched 100BT line). This is livable for files a few
hundred K in size, but really sucks for ~10 MB size files and is
absolutely impossible for ~100 MB size files. linux-to-linux NFS
writes aren't much better -- around 250 KB/sec.
I truly wish that one day NFS were fixed in linux. On the other hand,
it mostly works and I don't have the time to fix it, so I'll just
> > (2) The "netperf" of the PC booting Linux to Alpha Workstation connected
> > by 100BaseTX via CISCO 2916 is only 0.15 Mbps, while if I boot Solaris 2.6
> > of the pc, the netperf from the same pc to the same alpha shows 94.03 Mbps.
> > Linux (2.1.109 (3c59x.c v0.99E))
> > TCP STREAM TEST to rikalp.phy.bnl.gov
> > Recv Send Send
> > Socket Socket Message Elapsed
> > Size Size Size Time Throughput
> > bytes bytes bytes secs. 10^6bits/sec
> > 32768 65535 65535 12.66 0.15 <--- 0.15 Mbps
> Do me a favor and 'cat /proc/net/dev' both before and after
> a netperf run. I need to know how many errors we are seeing.
> .15Mbps is extremely slow for a 100BaseT connection.
I've seen this kind of throughput before, but generally only when one
is radically overrunning the capacity of the receiver. If you do a
netperf from a REALLY fast system (one capable of sending say 45-60
Kpps) to a slowish system, I think you induce a thrashing behavior and
experience a strong nonlinear cutoff in throughput. I discovered this
when trying to crash my systems back in the days of the set_bit() bug
with full speed netperf's from two or three PII's to a PPro or PII.
One stream gives good performance, two or more creates significant
problems. But at least it no longer crashes!
Robert G. Brown http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567 Fax: 919-660-2525 email:email@example.com