linux 参数优化

## linux 优化方案
* docker-compose.yml 需要配置network_mode: "host"
* 增加或修改如下参数
    * 参数路径:/etc/sysctl.conf
        * vm.swappiness = 0 // 尽可能使用swap分区 
        * net.ipv4.tcp_max_orphans = 655360 // 系统中最多有多少个TCP 套接字不被关联到任何一个用户文件句柄上 
        * net.ipv4.tcp_max_syn_backlog = 655360 // 能接受 SYN 同步包的最大客户端数量
        * net.core.somaxconn = 32768 // 当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包。这个参数表示该队列的最大值
        * net.ipv4.ip_local_port_range = 1024  65535 // 对外TCP和UDP连接port的范围
        * net.ipv4.tcp_fin_timeout = 30 // FIN-WAIT-2 超时时间
        * net.ipv4.tcp_tw_reuse = 1 // 启用重用地址和端口
        * net.ipv4.tcp_retries2 = 5 // tcp重连次数
        * net.ipv4.tcp_syn_retries = 2 // 重试发送syn包的次数
        * net.ipv4.tcp_keepalive_time = 1800 // 首次tcp心跳包在建立链接后多久发送
        * net.ipv4.tcp_keepalive_intvl = 30 // tcp心跳间隔(s)
        * net.ipv4.tcp_keepalive_probes = 5 // tcp心跳对端无响应后继续发送的探测报文的数量

  1. 打开 /etc/security/limits.conf 文件,添加以下行来设置用户的 ulimit 值:

    username soft nofile 65535 
    username hard nofile 65535

  2. 其中,username 是要设置 ulimit 值的用户名,softhard 表示软限制和硬限制。nofile 表示最大打开文件数,这里设置为 65535。可以根据需要设置其他资源的 ulimit 值。

  3. 如果需要修改系统级别的 ulimit 值,打开 /etc/sysctl.conf 文件,添加以下行:

    fs.file-max = 65535

    其中,fs.file-max 表示系统级别的最大打开文件数,这里设置为 65535。

  4. 如果使用的是 systemd 系统,可以在 /etc/systemd/user.conf/etc/systemd/system.conf 文件中设置用户和系统级别的 ulimit 值。添加以下行:

    DefaultLimitNOFILE=65535

    其中,DefaultLimitNOFILE 表示最大打开文件数,这里设置为 65535。

  5. 重新登录或重新启动系统,让新的 ulimit 值生效。

通过上述步骤,可以设置用户的 ulimit 值。如果需要修改其他资源的 ulimit 值,只需要在第一步中修改对应的配置即可。

设置堆栈的大小

/etc/security/limits.conf文件设置

user1 soft stack 2048(kB为单位)

你可能感兴趣的:(linux,网络,服务器)