Linux上客户端向服务器发起大量请求:failed (99: Cannot assign requested address) while connecting to upstream,问题解决

1、查看系统当前tcp端口等待情况:

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
2.修改以下系统参数:
    (1) 编辑系统配置:

         vim /etc/sysctl.conf 

    (2) 调低端口释放后的等待时间,默认为60s,修改为15~30s

           sysctl -w net.ipv4.tcp_fin_timeout=30
    (3) 修改tcp/ip协议配置, 通过配置/proc/sys/net/ipv4/tcp_tw_resue, 默认为0,修改为1,释放TIME_WAIT端口给新连接使用
           sysctl -w net.ipv4.tcp_timestamps=1
    (4) 修改tcp/ip协议配置,快速回收socket资源,默认为0,修改为1
           sysctl -w net.ipv4.tcp_tw_recycle=1
    (5) 客户端可用端口范围
           net.ipv4.ip_local_port_range = 10000     65000      -----意味着10000~65000端口可用

    (6) 修改链接重利用

        net.ipv4.tcp_tw_reuse=1

 

3、执行以下命令生效:
    /sbin/sysctl -p

 

posted @ 2021-01-19 11:13  骑着蜗牛看海呀  阅读(3273)  评论(0编辑  收藏  举报