重庆思庄Oracle、Redhat认证学习论坛

标题: netstat -an查看到大量的TIME_WAIT状态的解决办法 [打印本页]

作者: 郑全    时间: 2019-12-2 17:18
标题: netstat -an查看到大量的TIME_WAIT状态的解决办法
netstat -an |grep 1521 |wc -l
6688


netstat -an |grep 1521

tcp        0      0 11.0.15.88:1521              11.0.15.66:57297             TIME_WAIT


状态全是 time_wait


netstat下time_wait状态的tcp连接:


1.这是一种处于连接完全关闭状态前的状态;

2.通常要等上4分钟(windows server)的时间才能完全关闭;

3.这种状态下的tcp连接占用句柄与端口等资源,服务器也要为维护这些连接状态消耗资源;

4.解决这种time_wait的tcp连接只有让服务器能够快速回收和重用那些TIME_WAIT的资源







在LINUX下得处理:


vi /etc/sysctl.conf

新增如下内容:

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies=1

使内核参数生效:

[root@web02 ~]# 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



处理后,再看,这种状态的连接数减少,最后,只剩几个。








欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2