tcp: increase tcp_max_syn_backlog max value
tcp_max_syn_backlog default value depends on memory size and TCP ehash size. Before this patch, the max value was 2048 [1], which is considered too small nowadays. Increase it to 4096 to match the recent SOMAXCONN change. [1] This is with TCP ehash size being capped to 524288 buckets. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Willy Tarreau <w@1wt.eu> Cc: Yue Cao <ycao009@ucr.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
19f92a030c
commit
623d0c2db0
|
@ -408,11 +408,14 @@ tcp_max_orphans - INTEGER
|
|||
up to ~64K of unswappable memory.
|
||||
|
||||
tcp_max_syn_backlog - INTEGER
|
||||
Maximal number of remembered connection requests, which have not
|
||||
received an acknowledgment from connecting client.
|
||||
Maximal number of remembered connection requests (SYN_RECV),
|
||||
which have not received an acknowledgment from connecting client.
|
||||
This is a per-listener limit.
|
||||
The minimal value is 128 for low memory machines, and it will
|
||||
increase in proportion to the memory of machine.
|
||||
If server suffers from overload, try increasing this number.
|
||||
Remember to also check /proc/sys/net/core/somaxconn
|
||||
A SYN_RECV request socket consumes about 304 bytes of memory.
|
||||
|
||||
tcp_max_tw_buckets - INTEGER
|
||||
Maximal number of timewait sockets held by system simultaneously.
|
||||
|
|
|
@ -2681,7 +2681,7 @@ static int __net_init tcp_sk_init(struct net *net)
|
|||
net->ipv4.tcp_death_row.sysctl_max_tw_buckets = cnt / 2;
|
||||
net->ipv4.tcp_death_row.hashinfo = &tcp_hashinfo;
|
||||
|
||||
net->ipv4.sysctl_max_syn_backlog = max(128, cnt / 256);
|
||||
net->ipv4.sysctl_max_syn_backlog = max(128, cnt / 128);
|
||||
net->ipv4.sysctl_tcp_sack = 1;
|
||||
net->ipv4.sysctl_tcp_window_scaling = 1;
|
||||
net->ipv4.sysctl_tcp_timestamps = 1;
|
||||
|
|
Loading…
Reference in New Issue