1. tcp backlog 参数
- tcp 在三次握手的时候:
- client 会发送一个 SYN 到 server。此时,客户端的 tcp 状态会变成 SYN_SEND,server 收到 SYN包后,将连接状态修改为 SYN——RCVD,维护一个 half open sync queue(半连接)队列,将当前连接加入到半连接队列。半连接的长度为 max(64, /proc/sys/net/ipv4/tcp_max_syn_backlog) 。
- server 端给客户端回应一个 SYN_ACK 的包给 client。client 收到后,会将连接修改为ESTABLISHED,然后发送 ACK 到 server。
- server 收到 client 的 ACK 过后,将连接的状态修改为 ESTABLISHED,并把请求从 sync queue 半连接队列放到 accept queue,长度为min(backlog, somaxconn)。
