From: Jeremy Fitzhardinge <jeremy@zip.com.au>
To: Doug Crompton <wa3dsp@marconi.crompton.com>
Cc: linux-kernel@vger.rutgers.edu
Subject: Re: Why is NFS so slow??
Date: Mon, 23 Mar 1998 12:56:07 +1100 [thread overview]
Message-ID: <3515C137.5C6D263F@zip.com.au> (raw)
In-Reply-To: Pine.LNX.3.91.980322121519.29760A-100000@marconi.crompton.com
Doug Crompton wrote:
> Watching my modem lights the packets seem to have delay - one packet sent,
> response is delayed, etc. The delay is in Ms. but significant.
> Communications to this same host using other TCP/IP services utilizes the
> modem bandwidth. The (NFS) communication is certainly channel friendly but
> when it takes 30 seconds to get a 20K file and the same to get directories
> it becomes a real drag.
Unlike TCP, NFS has no streaming (also called windowing, where you send
requests while there's still outstanding replies). This means
performance is strictly limited by the latency of your connection,
rather than by its throughput. Using larger blocksizes can help, but
using RPC over UDP over high-latency connections is never going to be
good. NFS's preference for UDP has been long regarded as dubious, at
best.
TCP also has congestion control, which helps limit dropped packets due
to congestion on the net. UDP has no such mechanism, and will just make
the problem worse while performance plummets.
Increasing the blocksize can definitely help throughput, so long as you
arn't getting any dropped packets - a dropped fragment of a large NFS
datagram will just drop the whole lot, which will waste masses of
bandwidth.
In theory NFS can be run over TCP connections, but I'm not sure that
Linux supports it yet.
The problem is very much in NFS's design, which is why there's been work
on WebNFS, which is designed to pack more into a request to try and
counter the latency problems. HTTP has been transformed in similar ways
for similar reasons.
If you can't tweak NFS into getting good performance, and you need the
filesystem interface, look at using CIFS/SMB instead. It's a ghastly
mess, but it does stream nicely over long-haul TCP connections.
J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
next parent reply other threads:[~1998-03-23 1:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.3.91.980322121519.29760A-100000@marconi.crompton.com>
1998-03-23 1:56 ` Jeremy Fitzhardinge [this message]
1998-03-23 5:30 Why is NFS so slow?? Larry McVoy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3515C137.5C6D263F@zip.com.au \
--to=jeremy@zip.com.au \
--cc=linux-kernel@vger.rutgers.edu \
--cc=wa3dsp@marconi.crompton.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox