[转帖]内核参数优化

内核,参数,优化 · 浏览次数 : 0

小编点评

**Net.ipv4 TCP Options** ``` net.ipv4.tcp_timestamps= 1 # Server time stamping, enabled by default net.ipv4.tcp_tw_reuse= 1 # Server can reuse connections within a time_wait seconds window net.ipv4.tcp_tw_recycle=0 # Allow time_wait to expire after the initial window net.ipv4.tcp_syncookies= 1 # Record SYN cookies for connection tracking in busy scenarios net.ipv4.tcp_fin_timeout=10 # Set a 10-second timeout for FIN wait net.ipv4.tcp_keepalive_time= 10 # Allow up to 10 seconds of inactivity before closing a connection net.ipv4.tcp_keepalive_probes= 2 # Number of probes used in TCP keepalive handshake net.ipv4.tcp_keepalive_intvl= 1 # Interval between TCP keepalive probes net.ipv4.tcp_max_syn_backlog= 2048 # Maximum number of SYN backlog entries net.ipv4.tcp_max_orphans= 3276800 # Maximum number of orphan TCP connections allowed net.ipv4.tcp_keepalive_probes= 2 # Number of probes used in TCP keepalive handshake net.ipv4.tcp_keepalive_intvl= 1 # Interval between TCP keepalive probes net.ipv4.tcp_window_scaling=1 # Enable window scaling for TCP net.ipv4.tcp_moderate_rcvbuf=1 # Enable dynamic receive buffer adjustment net.ipv4.tcp_syn_retries=3 # Number of SYN retries in case of SYN loss net.ipv4.tcp_synack_retries=3 # Number of SYN/ACK retries in case of retransmission net.ipv4.tcp_abort_on_overflow=0 # Drop incoming packets when the receive queue is full net.ipv4.tcp_fastopn=3 # Enable Fast TCP options for both sides net.ipv4.tcp_orphan_retries=3 # Number of FIN retries in case of orphan connection loss net.ipv4.tcp_retries2=6 # Number of retries for reconnection attempts ```

正文

net.ipv4.tcp_timestamps= 1     #服务器时间截,默念为1   
net.ipv4.tcp_tw_reuse= 1       #服务器作为客户端时起作用,开启后time_wait在一秒内回收,(两端都要开启tw_timestamps=1时才有效)
net.ipv4.tcp_tw_recycle=0       #此参数对客户端和服务端都有作用,一般情况下不建议开启,打开时在NAT网络时会出问题,(只在内网,并且没有一对多的NAT网络下开启),(两端都要开启tw_timestamps=1时才有效),kernel 4.12以上参数不可用
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=5000    #对高并发服务器有效
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 #对大并发环境,后端宕机有用

    与[转帖]内核参数优化相似的内容:

    [转帖]内核参数优化

    net.ipv4.tcp_timestamps= 1 #服务器时间截,默念为1 net.ipv4.tcp_tw_reuse= 1 #服务器作为客户端时起作用,开启后time_wait在一秒内回收,(两端都要开启tw_timestamps=1时才有效) net.ipv4.tcp_tw_recycle=

    [转帖]linux 内核参数优化

    Sysctl命令及linux内核参数调整 一、Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc/sysctl.conf文件来实现。 命令格式: sysctl [-n] [-e] -w variable=value sysctl [-n]

    [转帖]linux服务器内核参数优化(3)

    https://cloud.tencent.com/developer/article/1820378?from=article.detail.1956187&areaSource=106000.16&traceId=lr3VPq-YZBl2ynblhnK3h 在这个文件中,加入下面的几行内容: n

    [转帖]Linux操作系统内核参数优化

    https://cloud.tencent.com/developer/article/1437197?from=article.detail.1888155&areaSource=106000.5&traceId=en1H1V0Ctjdzz29-luoya 调整进程可打开文件最大数 临时修改 执行

    [转帖]一个简单的内核参数优化

    一个简单的内核参数优化 作者:孤风孤影 https://www.bilibili.com/read/cv15200947/ 出处:bilibili net.ipv4.tcp_keepalive_time=600 #此参数表示TCP发送keepalive探测消息的间隔时间(秒) net.ipv4.tc

    [转帖]linux中内核的一个不错的参数somaxconn

    最近发现很多内核优化参数都记不住了,写下文章来备记,方便以后查看. 编辑 /etc/sysctl.conf 文件,在里面加入如下内容:(有注释) #设置系统对最大跟踪的TCP连接数的限制(CentOS 5.6无此参数) net.ipv4.ip_conntrack_max = 25000000 #最大

    [转帖]Linux内核调优

    Linux服务器调优 转载于:https://blog.csdn.net/largetalk/article/details/16863689 安装一台新的Linux服务器之后都要做些配置调整工作,优化一下系统,以前零零碎碎记录过一些,这里集中整理一下。 Linux内核参数 net.ipv4.tcp

    [转帖]Nginx10万+并发 内核优化

    由于默认的linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能; 在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态web内容服务器、反向代理或者提供压缩服

    [转帖]基于 Nginx 实现 10万+ 并发,Linux 内核优化

    来源:http://t.cn/EyQTMwG 由于默认的Linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能; 在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作

    [转帖]单节点高并发Linux服务器影响接入能力的因素有哪些

    在单台服务器承载数十万并发的情况下,影响服务器接入能力的因素已经不在是CPU、内存、带宽等表层因素,而是内核参数、设备配置、应用优化等多种细节因素。 1、最大打开文件数 Linux 中所有内容都是以文件的形式保存和管理的, 包括套接字、网络通信等资源,即一切皆文件,因此提升最大打开文件数是提高服务器