time_wait調優過程
1、檢視連線的訪問狀態:
注:(1)、time_wait值顯得有點高,太高了會暫用伺服器端口。導致伺服器無法響應。ddos一般都是這種情況
(2)、併發連線1689正常的值
(3)、syn_recv表示應該沒收到ddoc的***,要是受到***的話,這個響應值應該很高。
2、檢視一下系統開放多少個tcp埠:
[root@web005 ~]# cat /etc/sysctl.conf | grep port
net.ipv4.ip_local_port_range = 1024 65535
開放6萬多個tcp埠,好像接近危險邊緣了。
3、看一下系統允許開啟的檔案數:
[root@web005 ~]# ulimit -n
102400
應該也不算這個問題了。
4、給核心調優:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
然後執行 /sbin/sysctl -p 讓引數生效。
注釋: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 = 30 修改系?預設的 timeout 時間
5、保持之後過來蠻久還沒有見改觀。剩下最後一步:
上谷歌之後發現還要看一下這個值:tcp_timestamps=1
我這裡預設是0.這樣上面的意思是要是tcp_timestamps沒有開啟的話tw_recyle也是設定不生效的。但是這樣有個問題,就是當我們前端是lvs 。使用nat模型的適合是最好不要開啟這個的。很容易照成網路問題。
執行:net.ipv4.tcp_timestamps = 1 #sysctl -p
6、再檢視一下:
time_wait值過不了多久就降了好多。
#注:當有時候懷疑是***,用netstat命令很卡的適合可以用ss命令:速度很快
[root@web005 ~]# ss -ant | awk ' end '
syn-sent 2
syn-recv 1
estab 2321
state 1
fin-wait-1 1
time-wait 13698
listen 6
關於web伺服器TIME WAIT值高的問答
發件人 周 收件人 sery 抄送 主題 請教問題 我看你們的伺服器的連線都是比較正常的 root 381263 conf netstat n awk tcp end end close wait 6 fin wait1 114 fin wait2 76 established 675 syn re...
web伺服器 簡單web伺服器實現
三次握手 一般情況下是瀏覽器先傳送請求資料,c s ack 應答 三次握手成功後,才開始進行通訊資料的收發。四次揮手 一般情況下是客戶端先關閉,給瀏覽器傳送關閉資訊。如果瀏覽器傳送了關閉資訊,但是伺服器沒有回過去,較慢 那麼瀏覽器一直發是不是就會有問題?所以會等待 2msl的時間。一般為2 5分鐘。...
減少Linux伺服器TIME WAIT過多問題
time wait狀態的意義 客戶端與伺服器端建立tcp ip連線後關閉socket後,伺服器端連線的埠 狀態為time wait 是不是所有執行主動關閉的socket都會進入time wait狀態呢?有沒有什麼情況使主動關閉的socket直接進入closed狀態呢?主動關閉的一方在傳送最後乙個 a...