All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dean Hildebrand <seattleplus@gmail.com>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Chuck Lever <chuck.lever@oracle.com>, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 0/1] SUNRPC: Add sysctl variables for server TCP snd/rcv buffer values
Date: Fri, 13 Jun 2008 16:58:04 -0700	[thread overview]
Message-ID: <4853098C.8070200@gmail.com> (raw)
In-Reply-To: <20080613205339.GM8501@fieldses.org>



J. Bruce Fields wrote:
> On Thu, Jun 12, 2008 at 02:03:20PM -0700, Dean Hildebrand wrote:
>   
>> Another point is that setting the buffer size isn't always a  
>> straightforward process.  All papers I've read on the subject, and my  
>> experience confirms this, is that setting tcp buffer sizes is more of an  
>> art.
>>     
>
> Aie.  It's bad enough if we have a half-dozen or so sysctl's to set to
> get decent performance out of the nfs server.  I don't like to hear
> that, on top of that, the choice of at least one of those variables is
> an art....
>
> We can leave some knobs in there for the people that like to read that
> sort of paper, but the rest of the world will need *some* sort of
> heuristics.
>   
Yeah, who thought computers could be artistic?!  More fun that way I 
figure :)

The reason it is an art is that you don't know the hardware that exists 
between the client and server.  Talking about things like BDP is fine, 
but in reality there are limited buffer sizes, flaky hardware, 
fluctuations in traffic, etc etc.  Using the BDP as a starting point 
though seems like the best solution, but since the linux server doesn't 
know anything about what the BDP is, it is tough to hard code any value 
into the linux kernel.  As you said, if we just give a reasonable 
default value and then ensure people can play with the knobs.  Most 
people use NFS within a LAN, and to date there has been little if any 
discussion on using NFS over the WAN (hence my interest), so I would 
argue that the current values might not be all that bad with regards to 
defaults (at least we know the behaviour isn't horrible for most people).

Networks are messy.  Anyone who wants to work in the WAN is going to 
have to read about such things, no way around it.  A simple google 
search for 'tcp wan' or 'tcp wan linux' gives loads of suggestions on 
how to configure your network, so it really isn't a burden on sysadmins 
to do such a search and then use the given knobs to adjust the tcp 
buffer size appropriately.  My patch gives sysadmins the ability to do 
the google search and then have some knobs to turn.

Some sample tcp tuning guides that I like:
http://acs.lbl.gov/TCP-tuning/tcp-wan-perf.pdf
http://acs.lbl.gov/TCP-tuning/linux.html
http://gentoo-wiki.com/HOWTO_TCP_Tuning (especially relevant is the part 
about the receive buffer)
http://www.linuxclustersinstitute.org/conferences/archive/2008/PDF/Hildebrand_98265.pdf 
(our initial paper on pNFS tuning)

Dean


  reply	other threads:[~2008-06-13 23:58 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-10 18:54 [PATCH 0/1] SUNRPC: Add sysctl variables for server TCP snd/rcv buffer values Dean Hildebrand
2008-06-11 19:48 ` Chuck Lever
2008-06-11 21:01   ` Talpey, Thomas
2008-06-12 21:03   ` Dean Hildebrand
2008-06-13 18:51     ` Chuck Lever
2008-06-13 20:56       ` J. Bruce Fields
2008-06-14  1:07       ` Dean Hildebrand
2008-06-16 18:59         ` Chuck Lever
2008-06-17 22:03           ` Dean Hildebrand
2008-06-18 21:32             ` Chuck Lever
2008-06-25  1:06               ` Dean Hildebrand
2008-06-13 20:53     ` J. Bruce Fields
2008-06-13 23:58       ` Dean Hildebrand [this message]
2008-06-16 17:59         ` J. Bruce Fields
2008-06-18 18:33           ` Dean Hildebrand

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=4853098C.8070200@gmail.com \
    --to=seattleplus@gmail.com \
    --cc=bfields@fieldses.org \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.