現(xiàn)象
client 建立連接 三次握手已經(jīng)完成,但server 的selector沒有響應(yīng)這個連接。
正常的三次TCP 三次握手
- client ---syn指令---> server
- server ---sync+ack--- client
- client --- ack 指令 ---> server
命令
ss -l
netstat -s | egrep "listen|LISTEN"

全鏈接隊列溢出的次數(shù)
分析
全鏈接隊列已滿,導(dǎo)致客戶端發(fā)送ack命令后,已將隊列修改為establish,但server由于accept隊列已滿,拋棄了ack包,server沒有觸發(fā)鏈接建立事件。

半連接隊列和全連接隊列
來源: http://www.cnxct.com/something-about-phpfpm-s-backlog
全鏈接隊列的大?。?/h2>
min(backlog, somaxconn) . backlog是在socket創(chuàng)建的時候傳入的,somaxconn是一個os級別的系統(tǒng)參數(shù)
半鏈接隊列的大?。?/h2>
半連接隊列的大小取決于:max(64, /proc/sys/net/ipv4/tcp_max_syn_backlog)。