内核参数优化

net.ipv4.tcp_timestamps= 1     #服务器时间截,默念为1   ,kernel 4.12以上参数不可用
net.ipv4.tcp_tw_reuse= 1       #服务器作为客户端时起作用,开启后time_wait在一秒内回收,(两端都要开启tw_timestamps=1时才有效)
net.ipv4.tcp_tw_recycle=0       #此参数对客户端和服务端都有作用,一般情况下不建议开启,打开时在NAT网络时会出问题,(只在内网,并且没有一对多的NAT网络下开启),(两端都要开启tw_timestamps=1时才有效)
net.ipv4.tcp_syncookies= 1      #服务器在大量syn_flood时,启动cookies进行记录,有一定的防护作用,当队列超过tcp_max_syn_backlog并且值为1时,会到包头中增加一下计算值,当回包有该校验值就可建立连接。
net.ipv4.tcp_fin_timeout=10       #对MSL无影响,加快TIME_WAIT的回收(fin_wait_2,只对狐儿套接字时有效),MSL在centos7下是60秒
net.ipv4.tcp_max_tw_buckets=655350    #对高并发服务器有效
net.ipv4.tcp_max_syn_backlog= 2048   #最大半连接SYN的队列,(要想增大半连接队列,我们得知不能只单纯增大 tcp_max_syn_backlog 的值,还需一同增大 somaxconn 和 backlog,也就是增大全连接队列。否则,只单纯增大 tcp_max_syn_backlog 是无效的,每个应用设置backlog的方式不一样)。
net.ipv4.tcp_max_orphans= 3276800    #最大狐岛套接字(错误及异常的请求)
net.ipv4.tcp_keepalive_time= 10          # 当使用长连接时,允许空闲时间,超时会关闭连接。如果某些程序中也设置了,以程序为准。
net.ipv4.tcp_keepalive_probes= 2        #长连接探测次数
net.ipv4.tcp_keepalive_intvl= 1           #当tcp_keepalive_time超时,长连接探测间隔为时间
fs.file-max= 6553560                      #最大文件句柄数
net.ipv4.ip_local_port_range= 1024 65535    #控制TCP四元组中的src_port, 就是允许使用的src_port端口范围
net.ipv4.ip_local_reserved_ports= 2379,7321,8001,8003,8005-8007,8020-8027,8030-8036,8040-8045,8047,8050-8051,8080-8082,8088,8499-8501,9200              #四元组中保留的端口(des_port)
vm.swappiness=10      #当物理使用率达到90%时,才开始使用交换分区
#
net.core.somaxconn=4096          #全连接队列
net.core.rmem_max=16777216       #(16M)内核网络接收缓存大小,默认值(212992)
net.core.wmem_max=16777216       #(16M)内核网络发送缓存大小,默认值(212992)
net.core.rmem_default=8388608    #(8M)内核网络接收缓存大小,默认值(212992)
net.core.wmem_default=8388608    #(8M)内核网络发送缓存大小,默认值(212992) 
net.core.netdev_max_backlog=4096     #表示当每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包的最大数目,一般默认值为128
net.ipv4.tcp_rmem=4096 87380 16777216    #(4k 86k 16M)TCP接收缓存,最小值,默认值,最大值(用于TCP接受滑动窗口),单位为字节,默认值(4096 87380   6291456)
net.ipv4.tcp_wmem=4096 65536 16777216    #(4k 86k 16M)TCP发送缓存,最小值,默认值,最大值(用于TCP接受滑动窗口),单位为字节,默认值(4096 16384   4194304)
#net.ipv4.tcp_mem=88560 118080 177120     #单位为页,每页4K(362M,483M,725M),当可用内存小于362M时,不进行调节;当可用内存在362~483M间自动调整接收缓存区,当使用内存大于725M时,内核不再分配内存

#
#net.ipv4.tcp_window_scaling=1   #默认打开,窗口扩大因子功能,要通信双方同时打开
#tcp_moderate_rcvbuf=1           #开启接收缓冲区的自动调节功能,(发送缓冲区的调节功能是自动开启的)
#net.ipv4.tcp_syn_retries=3      #SYN丢失后重发次数,每次超时的时间是上一次的2倍
#net.ipv4.tcp_synack_retries=3   # syn+ack 重传次数设置为1次,每次超时的时间是上一次的2倍
#net.ipv4.tcp_abort_on_overflow=0  #当accept 队列满了,参数为0时丢包;参数为1时发送RST包
#net.ipv4.tcp_fastopn=3            #(内核3.7以上有效),要两端都打开时有效,可减少第二次连接时的三次握手次数,SYN中带有cookies,3表示接收和发送都打开
#net.ipv4.tcp_orphan_retries=3      #四次挥手中的fin丢失后重发次数
#net.ipv4.tcp_retries2=6            #对大并发环境,后端宕机有用
  

版权声明:本文为u010533742原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。