CentOS 7 系统参数调整

配置文件:/etc/sysctl.conf

fs.file-max = 6815744

表示系统级别文件句柄数

net.ipv4.tcp_fin_timeout=15

表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。

net.core.netdev_max_backlog=3000

当内核处理速度比网卡接收速度慢时,这部分多出来的包就会被保存在网卡的接收队列上,而该参数说明了这个队列的数量上限。

net.core.somaxconn=3000

该参数定义了系统中每一个端口最大的监听队列的长度,是个全局参数。该参数和 net.ipv4.tcp_max_syn_backlog 有关联,后者指的是还在三次握手的半连接的上限,该参数指的是处于 ESTABLISHED 的数量上限。若您的业务负载很高,则有必要调高该参数。listen(2) 函数中的参数 backlog 同样是指明监听的端口处于 ESTABLISHED 的数量上限,当 backlog 大于 net.core.somaxconn时,以 net.core.somaxconn 参数为准。

对应三次握手结束,还没有 accept 队列时的 ESTABLISHED 状态。accept 队列较多则说明服务端 accept 效率不高,或短时间内突发了大量新建连接。该值过小会导致服务器收到 syn 不回包,是由于 somaxconn 表满而删除新建的 syn 连接引起。若为高并发业务,则可尝试增大该值,但有可能增大延迟。

net.ipv4.tcp_max_syn_backlog

对应半连接的上限,曾用来防御常见的 synflood 攻击,但当 tcp_syncookies=1 时半连接可超过该上限。

net.ipv4.tcp_keepalive_intvl=15

keepalive探测包的发送间隔

net.ipv4.tcp_keepalive_probes=5

如果对方不予应答,探测包的发送次数

net.ipv4.ip_local_port_range=21000 61000

表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为21000到61000

net.ipv4.tcp_timestamps

开启TCP时间戳,以一种比重发超时更精确的方法来启用对 RTT 的计算,为实现更好的性能应该启用这个选项。

net.ipv4.tcp_tw_recycle

该参数用于快速回收 TIME_WAIT 连接。关闭时,内核不检查包的时间戳。开启时则会进行检查。不建议开启该参数,在时间戳非单调增长的情况下,会引起丢包问题,高版本内核已经移除了该参数。

net.ipv4.tcp_tw_reuse

配置文件:/etc/security/limits.conf 和 /etc/security/limits.d/90-nproc.conf

*   soft    nofile 40960
*   hard    nofile 40960
*   soft    nproc unlimited
*   hard    nproc unlimited
posted @ 2023-02-08 09:39  Steven.Chow  阅读(205)  评论(0编辑  收藏  举报