Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Oct 1995 17:00:38 -0700 (MST)
From:      "Richard S. Straka" <>
Subject:   NFS performance
Message-ID:  <Pine.BSD/>

Next in thread | Raw E-Mail | Index | Archive | Help
I have set up my 486DX-100 as an NFS server for a network that currently 
has PCNFS running on a Pentium-100 and a 386DX-25 (all machines are using 
Intel EtherExpress Boards).  I am using a FreeBSD-stable kernel which I 
downloaded from on approx 1 Oct 95.  The server filesystem 
is mounted on the Pentium with rsize=8192 and wsize=8192.  While reading from 
the NFS server, the Pentium can achieve 600-700KB/sec, nearly the speed of the 
ether.  While writing to the server, however, the speed of the tranfers 
seem to be limited to about 100KB/sec with alot of disk thrashing 
occuring on the server.  While running SYSTAT on the server, I noticed 
that the processor idle time is still greater than 50% but the disk 
transfer rate is around 400KB/sec with 40-50 seeks/sec.  Why is the disk 
transfer rate 4 times the file transfer rate between the client and the 
server and why so many seeks?  I have used NETSTAT to verfy that I am not 
dropping any UDP packets.  In sys/nfs/nfs_serv.c in the kernel code there 
is a compiler directive NFS_ASYNC.  When I compile the kernel with this 
directive set, the file transfer speed while writing to the server 
increases to about 400KB/sec (still not the 600-700KB/sec realized while 
reading from the server) and the apparent disk thrashing is gone 
(400KB/sec disk transfers with 10-20 seeks/sec).  This change, however, 
has made the server file system very vunerable to system crashes.  Two 
power outages (even after the system had been idle for several minutes - 
no nfs transfers) have resulted in broken filesystems (more than 100 bad 
INODES).  In both instances, the file system was unrecoverable (FSCK core 
dumped) and a new filesystem had to be created on the drive.  Are there 
any suggestions for improving the speed of the clients writing to the 
server while still maintaining a reasonable tolerance to system crashes?  
Any help would be greatly appreciated.  Thanks in advance. My e-mail 
address is

Want to link to this message? Use this URL: <>