网站色彩,免费虚拟机安卓版,网站关键词搜索排名,网站的实用性最近发现在连接监控数据库的时候偶尔会连不上#xff0c;报错#xff1a;Couldnt connect to host:3306/tcp: IO::Socket::INET: connect: Cannot assign requested address查看了一下发现系统中存在大量处于TIME_WAIT状态的tcp端口$netstat -n | awk /^tcp/ {S[$NF]} END {f…最近发现在连接监控数据库的时候偶尔会连不上报错Couldnt connect to host:3306/tcp: IO::Socket::INET: connect: Cannot assign requested address查看了一下发现系统中存在大量处于TIME_WAIT状态的tcp端口$netstat -n | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}TIME_WAIT 50013ESTABLISHED 27SYN_RECV 1由于要监控的主机太多监控的agent可能在短时间内创建大量连接到监控数据库(MySQL)并释放造成的。在网上查阅了一些tcp参数的相关资料最后通过修改了几个系统内核的tcp参数缓解了该问题#vi /etc/sysctl.confnet.ipv4.tcp_tw_reuse 1net.ipv4.tcp_tw_recycle 1#sysctl -p其中net.ipv4.tcp_tw_reuse 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接默认为0表示关闭net.ipv4.tcp_tw_recycle 1 表示开启TCP连接中TIME-WAIT sockets的快速回收默认为0表示关闭。修改完成并生效后系统中处于TIME_WAIT状态的tcp端口数量迅速下降到100左右$netstat -n | awk /^tcp/ {S[$NF]} END {for(a in S) print a, S[a]}TIME_WAIT 82ESTABLISHED 36