* [ ] TIME-WAIT 連接數太多的產生原因和解決方法
產生原因:
在高并發短連接的TCP服務器上,當服務器處理完請求后立刻按照主動正常關閉連接。這個場景下,會出現大量socket處于TIMEWAIT狀態。如果客戶端的并發量持續很高,此時部分客戶端就會顯示連接不上。
解決方法:
~~~
編輯內核文件/etc/sysctl.conf,加入以下內容:
net.ipv4.tcp_syncookies = 1 表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防范少量SYN攻擊,默認為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉。
net.ipv4.tcp_fin_timeout 修改系默認的 TIMEOUT 時間
~~~
參考資料:https://www.cnblogs.com/dadonggg/p/8778318.html
* [ ] CLOSE-WAIT 連接數太多的產生原因和解決方法
參考資料:https://www.zybuluo.com/zhongdao/note/1450198
https://www.zhihu.com/question/298214130/answer/1090787813