今早發現新增首頁節點報錯,沒法鏈接,部分節點發現問題,說明服務問題可能性不大,因而想到是內核參數的問題。果真因爲是新增的節點,沒有對系統優化致使。如今是發現問題過程記錄一下:
一、查看鏈接狀態,彙總一下
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
CLOSE_WAIT 42
ESTABLISHED 0
TIME_WAIT 1006
二、先優化內核參數
vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse=1 #讓TIME_WAIT狀態能夠重用,這樣即便TIME_WAIT佔滿了全部端口,也不會拒絕新的請求形成障礙 默認是0
net.ipv4.tcp_tw_recycle=1 #讓TIME_WAIT儘快回收 默認0
net.ipv4.tcp_fin_timeout=30
/sbin/sysctl -p #讓參數生效
三、重啓相關java服務
雖然這是運維發現問題的常識,但由於環境變化,可能會忘記,這裏記錄一下。java