• Ceph入门到精通-Linux内核网络参数优化小结


    tcp建连优化

    1 tcp建连,降低客户端超时时间

    net.ipv4.tcp_syn_retries = 6

    2 tcp建连,服务端避免syn攻击

    netstat -s | grep "SYNs to LISTEN" 1192450 SYNs to LISTEN sockets dropped

    可以考虑增大syn队列

    net.ipv4.tcp_max_syn_backlog = 1024

    超过上述队列后,启用syn cookie

    net.ipv4.tcp_syncookies = 1

    降低retry次数,默认是5

    net.ipv4.tcp_synack_retries = 5

    上述操作后,依然溢出的,会被丢弃,建议启用rst复位以通知客户端

    net.ipv4.tcp_abort_on_overflow = 0

    3 accept后,服务器过忙,队列等待超出被丢弃

    netstat -s | grep "listen queue" 14 times the listen queue of a socket overflowed

    首先服务端进程listen时需要设置backlog

    也受限于系统参数

    net.core.somaxconn = 128

    4 启用fastopen,跳过tcp3次握手

    第 1 个比特位为 1 时,表示作为客户端时支持 TFO;第 2 个比特位为 1 时,表示作为服务器时支持 TFO,所以当 tcp_fastopen 的值为 3 时(比特为 0x11)就表示完全支持 TFO 功能。

    net.ipv4.tcp_fastopen = 3

    tcp断连优化

    1 大量孤儿连接(无绑定进程,处于FIN_WAIT1)

    默认是0,即8次

    net.ipv4.tcp_orphan_retries = 3

    2 应对恶意攻击

    调整下述参数,再超出就会RST,默认是8192

    net.ipv4.tcp_max_orphans = 16384

    3 FIN_WAIT2状态的连接过多

    调低参数,默认60

    net.ipv4.tcp_fin_timeout = 5

    4 TIME_WAIT状态连接过多

    超过下述参数,就不走TIME_WAIT直接关闭,默认值18w

    net.ipv4.tcp_max_tw_buckets = 5000

    5 启用reuse,复用端口

    net.ipv4.tcp_tw_reuse = 1

    net.ipv4.tcp_timestamps = 1

    强烈不建议启用tcp_tw_recycle,会导致数据错乱,4.12内核已去掉这个参数。

  • 相关阅读:
    27服务-安全访问状态转换
    opensmile学习使用
    Pikachu漏洞练习平台之XXE(XML外部实体注入)
    下载安装Ipa Guard
    使用LangChain与chatGPT API开发故事推理游戏-海龟汤
    kafka基础(2):kafka quickstart
    EOS将发布的官方EVM怎么样?
    mysqld_exporter无法连接mysql解决
    移除元素、分数到小数、整数转罗马数字
    ansible User 模块
  • 原文地址:https://blog.csdn.net/wxb880114/article/details/133352777