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