系统调优backlog与tcp_max_syn_backlog和somaxconn

来源:互联网 发布:施耐德变频器调试软件 编辑:程序博客网 时间:2024/06/06 07:38

man listen看man怎么说的 

The  behavior of the backlog argument on TCP sockets changed with Linux 2.2.  Now it specifies the queue length for completely established sockets waitingto be accepted, instead of the number of incomplete connection requests.  The maximum length of  the  queue  for  incomplete  sockets  can  be  set  using/proc/sys/net/ipv4/tcp_max_syn_backlog.   When syncookies are enabled there is no logical maximum length and this setting is ignored.  See tcp(7) for moreIf the backlog argument is greater than the value in /proc/sys/net/core/somaxconn, then it is silently truncated to that value; the default value in  thisfile is 128.  In kernels before 2.4.25, this limit was a hard coded value, SOMAXCONN, with the value 128.

很清晰backlog是已经三次链接好的总数

tcp_max_syn_backlog是队列中半链接数 属于hardcode

somaxconn是队列中三次握手链接好的总数 属于hardcode

若backlog数大于somaxconn则会被截断成somaxconn

somaxconn范围是sizeof int  注意低版本内核(2.6.32、

 2.6.32-431.11.2.el6.toa.2.x86_64)最好不要设置超过(FFFF)65535  线上设置为32000