CLOSE_WAIT、NON_ESTABLISHED 連接數過高,導致tomcat服務直接宕機


 

TCP常見配置參考地址:

http://shift-alt-ctrl.iteye.com/blog/1966744;
https://www.cnblogs.com/fczjuever/archive/2013/04/05/3000697.html

以上圖最大連接數接近了2000,這個對於單機環境來說基本已經到達了最大的負載,導致服務器的tomcat應用服務器直接宕機,
其中最多的連接是CLOSE_WAIT達到了1029個,NON_ESTABLISHED達到了500個,這都是由於后台服務沒及時響應而app端主動斷開連接,導致后台的連接沒有全部釋放,直接成幾數增長,服務器直接宕機
關於為什么會出現這種不正常的連接,可以參考:https://blog.csdn.net/kkgbn/article/details/77859881這篇文檔
以下修改策略有兩個地方:

1、修改windows服務TCP配置keepAliveTime參數為1800000,即30分鍾,默認為2個小時,這個地方的單位為毫秒
windows:
開始->運行->輸入regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

 



2、修改tomcat的connect配置信息:keepAliveTimeout 更改為60s

 

總結:經過幾天的測試完美解決問題,服務器再沒有宕機過,當然在產品上線之前也做過tomcat和數據庫sql優化,不是全靠這一個配置就能解決所有問題的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM