From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Andrew Morton <akpm@osdl.org>
Cc: shannon@widomaker.com, linux-kernel@vger.kernel.org
Subject: Re: NFS and kernel 2.6.x
Date: Thu, 15 Apr 2004 19:54:08 -0700 [thread overview]
Message-ID: <1082084048.7141.142.camel@lade.trondhjem.org> (raw)
In-Reply-To: <20040415185355.1674115b.akpm@osdl.org>
På to , 15/04/2004 klokka 18:53, skreiv Andrew Morton:
> But Charles was seeing good performance with 2.4-based clients. When he
> went to 2.6 everything fell apart.
>
> Do we know why this regression occurred?
What regression??? You have a statistic of 1 person whose 3 clients
changed from what was an apparently working setup to what has *always*
been the usual scenario for most people that tried to use the same
broken hardware/software combination whether it be in 2.2.x, 2.4.x or
2.6.x.
The whole problem is that UDP provides unreliable transport... It offers
NO guarantees that the packet will arrive at the destination.
If only 1 fragment out of the 22 that it takes to send a single
wsize=32k write request to the Sun server gets lost on the way, the
Sun's networking layer will ignore that entire packet, and so the whole
write has to time out and get resent.
Switches can usually cache a few fragments if the clients on the 100Mbit
network are sending requests at a rate that almost matches the 10Mbit
bandwidth that the Sun server supports, but if the network is swamped so
that the switch runs out of cache, then it will start to drop packets.
This is the whole reason why Sun set TCP to be their default mount
option when the changed their servers to use 32k read/write.
My biggest suspect for why this particular setup changed in 2.6.x would
therefore be the changes to the way in which writes are scheduled on the
wire. We cache them for longer, and so overall the bandwidth usage goes
down, but at the expense of more "burstiness" when the user closes the
file or does some other fsync()-like operation.
So in fact you have 2 possible workarounds:
- Use the TCP mount option (by far the better option, since TCP *does*
provide reliable transport).
- Keep UDP, but use the wsize mount option to explicitly override the
server's choice of write sizes. That works by reducing the number of
fragments per write, and so improving performance by reducing the amount
of data that need to be resent per fragment lost.
Cheers,
Trond
next prev parent reply other threads:[~2004-04-16 2:54 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-16 1:14 Charles Shannon Hendrix
2004-04-16 1:31 ` Trond Myklebust
2004-04-16 1:53 ` Andrew Morton
2004-04-16 2:54 ` Trond Myklebust [this message]
2004-04-16 4:59 ` Phil Oester
2004-04-16 5:29 ` Trond Myklebust
2004-04-16 7:13 ` Paul Wagland
2004-04-16 14:44 ` Marcelo Tosatti
2004-04-16 14:46 ` Marcelo Tosatti
2004-04-16 15:50 ` Trond Myklebust
2004-04-16 15:55 ` Dave Gilbert (Home)
2004-04-16 16:13 ` Trond Myklebust
2004-04-16 19:07 ` Daniel Egger
2004-04-17 4:56 ` Chris Friesen
2004-04-17 9:56 ` Daniel Egger
2004-04-17 5:24 ` Trond Myklebust
2004-04-17 14:15 ` Daniel Egger
2004-04-16 19:11 ` Charles Shannon Hendrix
2004-04-17 16:44 ` Matthias Urlichs
2004-04-17 18:15 ` Trond Myklebust
2004-04-17 18:32 ` Marc Singer
2004-04-17 18:58 ` Trond Myklebust
2004-04-17 19:01 ` Marc Singer
2004-04-17 19:09 ` Trond Myklebust
2004-04-17 19:19 ` Russell King
2004-04-18 2:51 ` Trond Myklebust
2004-04-19 16:39 ` Trond Myklebust
2004-04-19 21:10 ` Trond Myklebust
2004-04-17 22:22 ` Marc Singer
2004-04-18 0:57 ` Trond Myklebust
2004-04-18 5:01 ` Marc Singer
2004-04-18 6:36 ` Chris Friesen
2004-04-18 7:56 ` Russell King
2004-04-18 17:31 ` Marc Singer
2004-04-17 19:01 ` Daniel Egger
2004-04-17 20:22 ` Marc Singer
2004-04-18 11:14 ` Daniel Egger
2004-04-19 9:06 ` Helge Hafting
2004-04-16 9:03 ` Jamie Lokier
2004-04-16 15:55 ` Trond Myklebust
2004-04-16 18:48 ` Jamie Lokier
2004-04-16 19:06 ` Trond Myklebust
2004-04-16 19:39 ` Jamie Lokier
2004-04-17 22:32 ` Trond Myklebust
2004-04-18 3:26 ` Jamie Lokier
2004-04-18 7:03 ` Trond Myklebust
2004-04-18 23:22 ` Jamie Lokier
2004-04-19 15:38 ` Trond Myklebust
2004-04-19 16:19 ` Trond Myklebust
2004-04-20 0:09 ` Jamie Lokier
[not found] ` <20040416190126.GB408@widomaker.com>
[not found] ` <1082144608.2581.156.camel@lade.trondhjem.org>
[not found] ` <20040417000353.GA3750@widomaker.com>
2004-04-17 5:28 ` Trond Myklebust
2004-04-17 17:55 ` Charles Shannon Hendrix
2004-04-17 18:55 ` Trond Myklebust
[not found] <1Lql8-6O3-1@gated-at.bofh.it>
[not found] ` <1LquO-6TK-5@gated-at.bofh.it>
[not found] ` <1LqOg-76p-19@gated-at.bofh.it>
[not found] ` <1LrKo-7Sn-21@gated-at.bofh.it>
[not found] ` <1LtM3-12d-5@gated-at.bofh.it>
[not found] ` <1Luf2-1kK-1@gated-at.bofh.it>
[not found] ` <1LDBL-uY-3@gated-at.bofh.it>
2004-04-16 20:31 ` Andi Kleen
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=1082084048.7141.142.camel@lade.trondhjem.org \
--to=trond.myklebust@fys.uio.no \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=shannon@widomaker.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
all inboxes | Powered by JetHome®