zoukankan      html  css  js  c++  java
  • 内核参数优化

    /proc/sys/net/core/rmem_max 最大TCP接收窗口(字节)
    ((134217728bytes)/1024kb)/1024MB =128/?MB
    /etc/sysctl.conf配置语句
    net.core.rmem_max =


    increase the length of the processor input queue
    net.core.netdev_max_backlog =
    tcpip内核参数优化
    tcp/ip参数都位于/proc/sys/net模
    参数-路径+文件
    描述
    默认值
    优化值
    /proc/sys/net/core/rmem_default
    默认的tcp数据接收窗口大小(字节)
    /proc/sys/net/core/rmem_max最大的tcp接收窗口(字节)
    write写 发送
    默认是tcp数据发送窗口
    /proc/sys/net/wmem_default
    /proc/sys/net/core/wmem_max

    /proc/sys/net/core/netdev_max_backlog
    在每个网络接口接收数据包的速率比内核处理这些包的速率快,允许送到队列的数据包的最大数目
    送到队列数据包的最大数目
    /proc/sys/net/core/somaxconn
    定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数
    每个套接字允许的最大缓冲区大小
    /proc/sys/net/core/optmem_max
    套接字允许的最大缓冲区
    确定tcp应该如何反映内存  值的单位 内存页=4kb = 4048bytes字节;
    第一个值 内存使用下限
    第二个值内存压力模式开始对缓冲区使用应用压力上限内存使用上限
    此层次可以将报文丢弃 减少对内存的使用 对于较大的BDP
    utils=内存页4kb 而不是字节
    94011 * 4 kb = 360000kb
    为自动调优socket使用内存第一个值是socket接收缓冲区分配的最少字节数 第二个默认值该值覆盖rmem_default,缓冲区在系统负载不重的情况可以增长这个值,第三个是接收缓冲区空间的最大字节数 rmem_max

    为自动调优定义socket使用的内存第一个值是socket接收缓冲区分配的最少字节数
    socket接收缓冲区分配的最少字节数 第二个默认值
    缓冲区在系统负载不重情况可以增长这个值
    第三个值是接收缓冲区空间的最大字节数
    /proc/sys/net/ipv4/tcp_keepalive_time
    tcp发送keepalive探测消息的时间间隔(seconds),用于确认tcp连接是否有效
    探测消息未获得响应时,重发该消息的间隔时间/proc/sys/net/ipv4/tcp_keepalive_intvl
    /proc/sys/net/ipv4/tcp_keepalive_probes
    在认定tcp连接失效之前,最多发送多少个keepalive探测消息
    启用有选择的应答(1表示启用)
    sack
    select ack应答acknowledge acknowledge acknowledge
    acknowledg
    forwarding ack   acknowledgedment
    通过有选择地应答乱序接收到的报文来提高性能
    select acknowledge 有选择地应答乱序接收到的报文 乱序接收到的报文  让发送者发送丢失的报文 段
    对于启用  增加广域网通讯   选项  增加tcp占用

    启用转发应答/proc/sys/net/ipv4/tcp_fack
    可以进行有选择应答(Sack)减少拥塞情况发送
    tcp包头增加12Bytes timestamps 以一种比重发超时更精确方法
    为实现更好性能
    \
    windows scaling支持超过64kb的tcp窗口 必须启用该值(1表示启用)tcp窗口最大1Gb
    tcp连接双方都启用生效
    /proc/sys/net/ipv4/tcp_syncookies
    是否打开tcp同步标签()内核需打开config_syn_cookies
    同步标签可以防止一个套接字在有过多试图连接到达引起过载
    防止套接字过多试图连接到达
    /proc/sys/net/ipv4/tcp_tw_reuse
    是否允许将处于TIME-WAIT状态的socket(TIME_WAIT端口)用于新的tcp连接
    time-wait端口
    允许将处于time-wait状态socket用于新的tcp连接
    /proc/sys/net/ipv4/tcp_tw_recycle
    呢哥哥更快回收time-wait套接字
    /proc/sys/net/ipv4/tcp_fin_timeout
    对于本端断开的socket连接tcp保持在fin-wait-2状态时间
    对方可能会断开连接或一直不结束连接或不可预料的进程死亡
    tcp/udp协议允许使用的本地端口号
    ip_local_port_range
    /proc/sys/net/ipv4/tcp_max_syn_backlog
    tcp_max_syn_backlog
    对于还未获得对方确认的连接请求
    未获得对方确认的连接请求,可保存在队列中的最大数目服务器经常出现过载  尝试增加数字
    对于还未获得对方确认的连接请求 保存在队列中的最大数目
    允许tcp/ip栈适应在搞吞吐量情况下低延时
    /proc/sys/net/ipv4/tcp_low_latency
    latency
    启用发送者端的拥塞控制算法
    启用发送者端的拥塞控制算法
    可以维护队吞吐 试图对带宽整体利用情况进行优化
    为快速长距离网络启用Binary increase congestion

  • 相关阅读:
    高性能服务器开发基础系列 (二)Reactor模式
    高性能服务器开发基础系列 (二)Reactor模式
    高性能服务器开发基础系列 (二)Reactor模式
    javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    JS基础入门篇(十)— 数组方法
    JS基础入门篇(十)— 数组方法
    C# WinForm 文件上传下载
  • 原文地址:https://www.cnblogs.com/ruiy/p/5212876.html
Copyright © 2011-2022 走看看