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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM