Updating our TCP and socket sysctl values...

George Neville-Neil gnn at neville-neil.com
Sun Mar 20 03:47:31 UTC 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Mar 20, 2011, at 08:13 , Navdeep Parhar wrote:

> On Fri, Mar 18, 2011 at 11:37 PM, George Neville-Neil
> <gnn at neville-neil.com> wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>> 
>> Howdy,
>> 
>> I believe it's time for us to upgrade our sysctl values for TCP sockets so that
>> they are more in line with the modern world.  At the moment we have these limits on
>> our buffering:
>> 
>> kern.ipc.maxsockbuf: 262144
>> net.inet.tcp.recvbuf_max: 262144
>> net.inet.tcp.sendbuf_max: 262144
>> 
>> I believe it's time to up these values to something that's in line with higher speed
>> local networks, such as 10G.  Perhaps it's time to move these to 2MB instead of 256K.
>> 
>> Thoughts?
> 
> 256KB seems adequate for 10G (as long as the consumer can keep
> draining the socket rcv buffer fast enough).  If you consider 2 x
> bandwidth delay product to be a reasonable socket buffer size then
> 256K allows for 10G networks with ~100ms delays.  Normally the delay
> is _way_ less than this for 10G and even 256K may be an overkill (but
> this is ok, the kernel has tcp_do_autorcvbuf on by default)
> 
> While we're here discussing defaults, what about nmbclusters and
> nmbjumboXX?  Now those haven't kept up with modern machines (imho).
> 

Yes we should also up the nmbclusters, IMHO, but I wasn't going to
put that in the same bucket with the TCP buffers just yet.
On 64 bit/large memory machines you could make the nmbclusters
far higher than our current default.  I know people who just set
that to 1,000,000 by default.

If people are also happy to up nmbclusters I'm willing to conflate
that with this.

Best,
George


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)

iEYEARECAAYFAk2FeM8ACgkQYdh2wUQKM9KPZgCgy9AcsoowTLk+sAaFHx52VSkW
mGEAn22eOTi3yqweMrOKsVkZ2XOWi9kX
=22fZ
-----END PGP SIGNATURE-----


More information about the freebsd-arch mailing list