net.ipv4.tcp_tw_recycle網絡
net.ipv4.tcp_tw_reusetcp
net.ipv4.tcp_timestamps函數
1) recycle和reuse參數必須在客戶端和服務端都開啓timestamps(=1)參數後纔有效果,不然不生效。測試
2) 設置recycle參數後,能夠快速回收處於TIME_WAIT狀態的Socket;回收時間據網上介紹大概在700ms;(測試時手工操做基本1s內就消失了)。操作系統
3) timestamp開啓狀況下,會小幅影響吞吐量blog
4) reuse參數開啓後,若針對處於TIME_WAIT狀態的Socket進行bind,仍然會報ADDR IN USE,這應該是bind函數內部會檢查Socket狀態致使(具體可自行去研究源碼)ip
5) reuse參數開啓後,不進行bind操做,讓操做系統來選擇可用端口,能夠看到端口獲得了複用,可看以下截圖。源碼
注意: 正常狀況外網不建議開啓recycle參數,由於該參數開啓後,會對時間戳進行校驗,來自於NAT網絡的客戶端頗有可能沒法鏈接上。im