IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置:首頁操作系統(tǒng)LINUX → LINUX下解決time_wait連接過多

LINUX下解決time_wait連接過多

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  經(jīng)常檢查Apache的連接數(shù),會發(fā)現(xiàn)很多無用的time_wait連接。有人說這是正常的,是因為一個請求中途中斷造成的;還有人說微軟的IE連接時產(chǎn)生的Time_wait會比用Firefox連接時多。個人認為有一定的Time_wait是正常的,如果超過了連接數(shù)的比例就不是很正常,所以還是找來方法解決一下。

  先檢查一下time wait的值:

  [root@aaa1 ~]#sysctl -a | grep time | grep wait

  net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120

  net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60

  net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

  這里解決問題的關(guān)鍵是如何能夠重復利用time_wait的值,檢查net.ipv4.tcp_tw當前值:

  [root@aaa1 ~]# sysctl -a|grep net.ipv4.tcp_tw

  net.ipv4.tcp_tw_reuse = 0

  net.ipv4.tcp_tw_recycle = 0

  增加或修改net.ipv4.tcp_tw值,將當前的值更改為1分鐘(reuse是表示是否允許重新應用處于TIME-WAIT狀態(tài)的socket用于新的TCP連接; recycle是加速TIME-WAIT sockets回收):

  [root@aaa1 ~]# vi /etc/sysctl.conf

  net.ipv4.tcp_tw_reuse = 1

  net.ipv4.tcp_tw_recycle = 1

  使內(nèi)核參數(shù)生效:

  [root@aaa1 ~]# sysctl -p

  用netstat再觀察時會發(fā)現(xiàn)已經(jīng)恢復正常。

  結(jié)合DDOS和TIME_WAIT過多,建議增加如下參數(shù)設(shè)置:

  # Use TCP syncookies when needed

  net.ipv4.tcp_syncookies = 1

  net.ipv4.tcp_synack_retries=3

  net.ipv4.tcp_syn_retries=3

  net.ipv4.tcp_max_syn_backlog=2048

  # Enable TCP window scaling

  net.ipv4.tcp_window_scaling: = 1

  # Increase TCP max buffer size

  net.core.rmem_max = 16777216

  net.core.wmem_max = 16777216

  # Increase Linux autotuning TCP buffer limits

  net.ipv4.tcp_rmem = 4096 87380 16777216

  net.ipv4.tcp_wmem = 4096 65536 16777216

  # Increase number of ports available

  net.ipv4.tcp_fin_timeout = 30

  net.ipv4.tcp_keepalive_time = 300

  net.ipv4.tcp_tw_reuse = 1

  net.ipv4.tcp_tw_recycle = 1

  net.ipv4.ip_local_port_range = 5000 65000

  附:查看當前的連接數(shù)狀況

  netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n

  1 established

  1 State

  2 LAST_ACK

  4 CLOSING

  4 FIN_WAIT2

  9 LISTEN

  17 FIN_WAIT1

  18 SYN_RECV

  27 ESTABLISHED

  811 TIME_WAIT

  上面的命令可以幫助分析哪種tcp狀態(tài)數(shù)量異常。其中的SYN_RECV表示正在等待處理的請求數(shù);ESTABLISHED表示正常數(shù)據(jù)傳輸狀態(tài);TIME_WAIT表示處理完畢,等待超時結(jié)束的請求數(shù)。

  附:查看IP連接數(shù)狀況

  netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n

  發(fā)現(xiàn)異常的,可以封了這個IP

關(guān)鍵詞標簽:LINUX

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程使用screen管理你的遠程會話使用screen管理你的遠程會話GNU/Linux安裝vmwareGNU/Linux安裝vmware如何登錄linux vps圖形界面 Linux遠程桌面連如何登錄linux vps圖形界面 Linux遠程桌面連

相關(guān)下載

人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址linux tc實現(xiàn)ip流量限制dmidecode命令查看內(nèi)存型號linux下解壓rar文件安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程Ubuntu linux 關(guān)機、重啟、注銷 命令lcx.exe、nc.exe、sc.exe入侵中的使用方法查看linux服務器硬盤IO讀寫負載