nginx大量TIME_WAIT的解決辦法(轉載)

轉載自:nginx

http://liuyieyer.iteye.com/blog/2214722?utm_source=tuicool&utm_medium=referral服務器

 

因爲網站使用nginx作的反向代理負載均衡。在沒有默認的系統TCP參數狀況下回致使大量的TIME_WAIT出現。cookie



 

 終端能夠下敲入負載均衡

 

Shell代碼  收藏代碼tcp

  1. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  

Java代碼  收藏代碼網站

  1. TIME_WAIT 8535  
  2. CLOSE_WAIT 5  
  3. FIN_WAIT2 20  
  4. ESTABLISHED 248  
  5. LAST_ACK 14  

 

Java代碼  收藏代碼ui

  1. CLOSED:無鏈接是活動的或正在進行  
  2. LISTEN:服務器在等待進入呼叫  
  3. SYN_RECV:一個鏈接請求已經到達,等待確認  
  4. SYN_SENT:應用已經開始,打開一個鏈接  
  5. ESTABLISHED:正常數據傳輸狀態  
  6. FIN_WAIT1:應用說它已經完成  
  7. FIN_WAIT2:另外一邊已贊成釋放  
  8. ITMED_WAIT:等待全部分組死掉  
  9. CLOSING:兩邊同時嘗試關閉  
  10. TIME_WAIT:另外一邊已初始化一個釋放  
  11. LAST_ACK:等待全部分組死掉  

   解決辦法 修改內核參數代理

  

Shell代碼 blog

  1. vi /etc/sysctl.conf  
  2. net.ipv4.tcp_syncookies = 1  
  3. net.ipv4.tcp_tw_reuse=1 #讓TIME_WAIT狀態能夠重用,這樣即便TIME_WAIT佔滿了全部端口,也不會拒絕新的請求形成障礙 默認是0  
  4. net.ipv4.tcp_tw_recycle=1 #讓TIME_WAIT儘快回收 默認0  
  5. net.ipv4.tcp_fin_timeout=30  
  6. /sbin/sysctl -p 讓修改生效  

  在查看,已經恢復正常ip

Java代碼 

  1. TIME_WAIT 69  
  2. CLOSE_WAIT 4  
  3. FIN_WAIT2 15  
  4. ESTABLISHED 236  
  5. LAST_ACK 1  
相關文章
相關標籤/搜索