Updating our TCP and socket sysctl values...
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Thu Aug 25 00:17:23 UTC 2011
On Aug 24, 2011, at 8:03 PM, George Neville-Neil wrote:
>
> On Aug 24, 2011, at 12:18 , Bjoern A. Zeeb wrote:
>
>> On Mar 19, 2011, at 6:37 AM, George Neville-Neil 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?
>>
>>
>> This never happened, did it? Was there a reason?
>>
>
> I went back and looked at the mail thread. I didn't see any strong objections
> so I think you should commit this for 9.x.
>
> np@ did point out that nmbclusters also lags on modern hardware so consider upping
> that at the same time.
The below seems to need a cast for max_sb_adj which is already present for the sysctl; currently doing a universe and will send it to re at . Thanks for the reply.
nmbclusters is harder to change as it's not just a max but directly needs/eats memory so we cannot just up it; we'll have to look into auto-tuning after 9 was branched and can possibly merge it for 9.1 or so.
/bz
>> Index: sys/netinet/tcp_input.c
>> ===================================================================
>> --- sys/netinet/tcp_input.c (revision 225048)
>> +++ sys/netinet/tcp_input.c (working copy)
>> @@ -195,7 +195,7 @@ SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, recvbuf_i
>> &VNET_NAME(tcp_autorcvbuf_inc), 0,
>> "Incrementor step size of automatic receive buffer");
>>
>> -VNET_DEFINE(int, tcp_autorcvbuf_max) = 256*1024;
>> +VNET_DEFINE(int, tcp_autorcvbuf_max) = 2*1024*1024;
>> #define V_tcp_autorcvbuf_max VNET(tcp_autorcvbuf_max)
>> SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, recvbuf_max, CTLFLAG_RW,
>> &VNET_NAME(tcp_autorcvbuf_max), 0,
>> Index: sys/netinet/tcp_output.c
>> ===================================================================
>> --- sys/netinet/tcp_output.c (revision 225048)
>> +++ sys/netinet/tcp_output.c (working copy)
>> @@ -117,7 +117,7 @@ SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, sendbuf_i
>> &VNET_NAME(tcp_autosndbuf_inc), 0,
>> "Incrementor step size of automatic send buffer");
>>
>> -VNET_DEFINE(int, tcp_autosndbuf_max) = 256*1024;
>> +VNET_DEFINE(int, tcp_autosndbuf_max) = 2*1024*1024;
>> #define V_tcp_autosndbuf_max VNET(tcp_autosndbuf_max)
>> SYSCTL_VNET_INT(_net_inet_tcp, OID_AUTO, sendbuf_max, CTLFLAG_RW,
>> &VNET_NAME(tcp_autosndbuf_max), 0,
>> Index: sys/sys/sockbuf.h
>> ===================================================================
>> --- sys/sys/sockbuf.h (revision 225048)
>> +++ sys/sys/sockbuf.h (working copy)
>> @@ -37,7 +37,7 @@
>> #include <sys/_mutex.h>
>> #include <sys/_sx.h>
>>
>> -#define SB_MAX (256*1024) /* default for max chars in sockbuf */
>> +#define SB_MAX (2*1024*1024) /* default for max chars in sockbuf */
>>
>> /*
>> * Constants for sb_flags field of struct sockbuf.
>>
>> --
>> Bjoern A. Zeeb You have to have visions!
>> Stop bit received. Insert coin for new address family.
>>
>> _______________________________________________
>> freebsd-arch at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
>> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"
>
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"
--
Bjoern A. Zeeb You have to have visions!
Stop bit received. Insert coin for new address family.
More information about the freebsd-arch
mailing list