• tcp_max_tw_buckets 相关


    参考 https://blog.csdn.net/u011764940/article/details/111401290

    对于客户端(为了解决TIME_WAIT问题的参数优化)

    1,端口号范围调大

    比较无脑的方案当然是把端口号范围调大,把端口号范围调大,这样就能抗更多的TIME_WAIT;同时将tcp_max_tw_bucket调小。只要port范围 - tcp_max_tw_bucket大于一定的值,那么就始终有port端口可用,这样就可以避免再次到调大临界值得时候继续击穿临界点。

    2,作为客户端因为有端口65535问题,开启tcp_tw_reuse,不建议同时打开tw_recycle,帮助不大。

    tw_reuse 帮助客户端1s完成连接回收,基本可实现单机6w/s请求,需要再高就增加IP数量吧。

    对于服务端(NAT负载后的服务端和客户端访问网站出现丢包现象)

    1. 打开tw_reuse无效

    2,net.ipv4.tcp_timestamps和net.ipv4.tcp_tw_recycle一定不能同时打开。

    1. 线上环境 tw_recycle 不要打开 因为一般的服务器、客户端都在NAT之后

     公网服务打开就可能造成部分连接失败,内网的话到时可以视情况打开;

    像我所在公司对外服务都放在负载后面,负载会把timestamp 都给清空,好吧,就算你打开也不起作用。

    https://www.cnblogs.com/alchemystar/p/13444964.html

    1. 服务器TIME_WAIT 高怎么办

      不像客户端有端口限制,处理大量TIME_WAIT Linux已经优化很好了,每个处于TIME_WAIT 状态下连接内存消耗很少,

    而且也能通过tcp_max_tw_buckets =100000 解决(这个值根据TIME_WAIT数量定),现代机器一般也不缺这点内存。

  • 相关阅读:
    Java 反射
    类中静态/普通/构造初始化顺序
    计算机世界中的0和1
    Java并发练习
    HashMap底层
    HashMap 与 Hashtable 的区别
    为什么重写了equals() 就要重写hashcode()
    干货型up主
    JSP页面元素
    重定向与请求转发的区别
  • 原文地址:https://www.cnblogs.com/faberbeta/p/16801029.html
Copyright © 2020-2023  润新知