系統大量TIME WAIT load高處理

2021-09-21 11:13:47 字數 1781 閱讀 4752

問題:上週發現系統大量time_wait,系統負載load很高500左右 檢查cpu、記憶體、磁碟io正常

檢視tpc連線數1w左右

netstat -n | awk '/^tcp/ end '

處理:

進行核心優化

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_max_tw_buckets = 5000

今天問題依舊、情況相同

檢視日誌如下

sep 10 09:56:32 host-20069 kernel: printk: 731 messages suppressed.

sep 10 09:56:32 host-20069 kernel: tcp: time wait bucket table overflow

再次優化核心對

net.ipv4.tcp_max_tw_buckets = 5000

修改為net.ipv4.tcp_max_tw_buckets = 100000

修改核心引數後注意使用命令

/sbin/sysctl -p

使之生效

再檢視日誌正常無報錯,top負載在慢慢下降然後區域正常值

主要原因還是某應用程式引起大量time_wait,系統核心優化只是一方面,此程式也應進行修改優化。

核心引數說明:

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 表示如果套接字由本端要求關閉,這個引數決定了它保持在fin-wait-2狀態的時間。

net.ipv4.tcp_keepalive_time = 1200 表示當keepalive起用的時候,tcp傳送keepalive訊息的頻度。預設是2小時,改為20分鐘。

net.ipv4.ip_local_port_range = 1024    65000 表示用於向外連線的埠範圍。預設情況下很小:32768到61000,改為1024到65000。

net.ipv4.tcp_max_syn_backlog = 8192 表示syn佇列的長度,預設為1024,加大佇列長度為8192,可以容納更多等待連線的網路連線數。

net.ipv4.tcp_max_tw_buckets = 100000 表示系統同時保持time_wait套接字的最大數量,如果超過這個數字,time_wait套接字將立刻被清除並列印警告資訊。預設為180000,改為100000。對於apache、nginx等伺服器,上幾行的引數可以很好地減少time_wait套接字數量,但是對於squid,效果卻不大。此項引數可以控制time_wait套接字的最大數量,避免squid伺服器被大量的time_wait套接字拖死。

Linux系統下刪除大量檔案的方法

刪除大量檔案的方法 要在linux下刪除海量檔案的情況,需要刪除數十萬個檔案。這個是之前的程式寫的日誌,增長很快,而且沒什麼用。這個時候,我們常用的刪除命令rm fr 就不好用了,因為要等待的時間太長。所以必須要採取一些非常手段。我們可以使用rsync的 delete before引數來實現快速刪除...

手機中國某系統SQL注入導致洩漏大量庫

url 首先該系統登入會返回 使用者不存在和密碼錯誤 於是 開始用top500跑了 使用者名稱 然後密碼暴力破解,跑了一會後提示 次數過多賬戶被禁 然後試了下用x forwarded for能否繞過,結果可以果斷加個單引號報錯了 接著手動驗證 可以看出存在布林盲注 果斷上sqlmap 庫全漏了 ps...

sql大量資料分頁

一種.select top 10 from tb where id not in select top 10 page from tb order by id order by id 其中,page是頁數的索引,實際的頁數要減一,這個分頁,對少數量的資料可以,也比使用游標快,但用到了not in關鍵...