lkml.org 
[lkml]   [1999]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: Very low bandwidth when using knfsd
    On Friday December 17, C.Brauckmann@alcatel.de wrote:
    > Hello,
    >
    > I am using a Laptop with RedHat-6.1. It is connected via a pcmcia
    > ethernet card (10 MBit) to a Unix network. My wish is to export a
    > directory of the Laptop to a SUN server. The SUN server uses
    > Solaris-2.5.1.
    >
    > I tried two configurations and got the following results:
    >
    >
    > 1. Using knfsd-1.4.7-7
    > ----------------------
    >
    > When transfering a file of 5M bytes from Solaris towards Linux I got a
    > very low bandwidth of less than 4k bytes (k not M!). Some pairs of error
    > messages "NFS server not responding..." and "NFS server OK" appear in
    > the windows on the Solaris machine until the transfer is finished. I put
    > the corresponding /var/log/messages of the Linux box to the end of this
    > mail ("messages.knfsd").
    ..
    >
    >
    > 2. Using nfs-server-2.2beta40-1
    > -------------------------------
    >
    > When transfering a file of 5M bytes from Solaris towards Linux I got a
    > good bandwidth of more than 450k bytes (more than 100 times faster!). No
    > error message appears. I put the corresponding /var/log/messages of the
    > Linux box to the end of this mail too ("messages.nfsd").
    >
    >
    > Any idea?
    >

    At a guess.....

    The Linux notebook is 10baseT
    *IF* the Solaris server is 100baseT (This is the guess) then I would
    expect exactly what you are getting.

    Using knfsd you will be using UDP. When writting a 5M file Solaris
    will start out by sending a few (maybe only 2) 8K UDP packets, which
    will fragment into 12 IP datagram. These will arrive at the switch at
    100Mb/s and the switch has to slow them down to 10Mb/s. Some will be
    lost.
    If any fragment of a udp datagram gets lost, the whole datagram is
    pretty useless. So effectively no data gets through. In reality it
    isn't quite that bad, and the occasionaly 8k udp datagram will get
    through, so you do see some thoughput, but not much.

    Using nfs-server, you will be using TCP. TCP is much better at
    handling lost fragments, and quite possibly solaris will not fragment
    at all, but will break up the tcp stream into 1500 (approx) byte ip
    packets, and the TCP congention control will work out what is
    happening and keep the window to a minium. This was you get much
    better throughput.

    You should be able to improve throughput with knfsd by setting the
    wsize (no need to change rsize) on the mount to < 1500. e.g. 1024.
    This way there is no fragmentation, and it should all work better (but
    probably not as good as tcp).

    Ofcourse, if youyr solaris machine in 10baseX, then I have no idea
    what is wrong.

    tcp for knfsd is closer with some work that Trond has been doing, but
    it'll probably be a 2.5 thing.

    NeilBrown

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:55    [W:5.588 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site