Updating our TCP and socket sysctl values...
George Neville-Neil
gnn at neville-neil.com
Wed Aug 24 22:08:05 UTC 2011
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.
Best,
George
> 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"
More information about the freebsd-arch
mailing list