Re: [PATCH 0/1] SUNRPC: Add sysctl variables for server TCP snd/rcv buffer values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux