TIME_WAIT、NON_ESTABLISHED 連線數過高,導致tomcat服務直接宕機
阿新 • • 發佈:2018-12-09
TCP常見配置參考地址:
http://shift-alt-ctrl.iteye.com/blog/1966744;https://www.cnblogs.com/fczjuever/archive/2013/04/05/3000697.html
以上圖最大連線數接近了2000,這個對於單機環境來說基本已經到達了最大的負載,導致伺服器的tomcat應用伺服器直接宕機,其中最多的連線是TIME_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優化,不是全靠這一個配置就能解決所有問題的