天天看點

netstat大量time_wait連接配接

netstat下time_wait狀态的tcp連接配接:

1.這是一種處于連接配接完全關閉狀态前的狀态;

2.通常要等上4分鐘(windows server)的時間才能完全關閉;

3.這種狀态下的tcp連接配接占用句柄與端口等資源,伺服器也要為維護這些連接配接狀态消耗資源;

4.解決這種time_wait的tcp連接配接隻有讓伺服器能夠快速回收和重用那些TIME_WAIT的資源:修改系統資料庫[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]添加dword值TcpTimedWaitDelay=30(30也為微軟建議值;預設為2分鐘)和MaxUserPort:65534(可選值5000 - 65534);

5.具體tcpip連接配接參數配置還可參照這裡:http://technet.microsoft.com/zh-tw/library/cc776295%28v=ws.10%29.aspx

6.linux下:

vi /etc/sysctl.conf

新增如下内容:

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies=1

使核心參數生效:

# sysctl -p

readme:

net.ipv4.tcp_syncookies=1 打開TIME-WAIT套接字重用功能,對于存在大量連接配接的Web伺服器非常有效。

net.ipv4.tcp_tw_recyle=1

net.ipv4.tcp_tw_reuse=1 減少處于FIN-WAIT-2連接配接狀态的時間,使系統可以處理更多的連接配接。

net.ipv4.tcp_fin_timeout=30 減少TCP KeepAlive連接配接偵測的時間,使系統可以處理更多的連接配接。

net.ipv4.tcp_keepalive_time=1800 增加TCP SYN隊列長度,使系統可以處理更多的并發連接配接。

net.ipv4.tcp_max_syn_backlog=8192

繼續閱讀