MENU

centos对/etc/sysctl.conf文件做网络资源与系统资源优化....

2018 年 12 月 22 日 • 阅读: 1856 • Centos

插图


linux centos对/etc/sysctl.conf文件做网络资源与系统资源优化,增加可用的本地端口,提高并发效率到10W每秒或者更大QPS

编辑文件:

/etc/sysctl.conf

最大共享内存(推荐值:68719476736)

kernel.shmmax = 68719476736

共享内存总大小限制(推荐值:4294967296)

kernel.shmall = 4294967296

共享内存段最大个数(推荐值:4096)

kernel.shmmni = 4096

启用SynCookies(前端节点服务器建议1,源服务器建议0)

net.ipv4.tcp_syncookies = 1

表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。实在吃不消不得已才开启。

net.ipv4.tcp_tw_recycle = 1

Tcp TIME_WAIT 端口重用(建议是)

net.ipv4.tcp_tw_reuse = 1

忽略所有ping请求包(建议是,在被ICMP DDOS攻击不会产生上行流量,根据自身情况是否)

net.ipv4.icmp_echo_ignore_all = 1

最大线程个数(由于65535端口限制,这里建议取值50000为佳)

kernel.threads-max = 50000

可分配的文件句柄最大个数(推荐值:1000000)

fs.file-max = 1000000

修改系統默认的 TIMEOUT 时间,默认为60,这个参数决定了它保持在FIN-WAIT-2状态的时间。

net.ipv4.tcp_fin_timeout = 10

表示当keepalive启用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为30秒。

net.ipv4.tcp_keepalive_time = 30

表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息/var/log/messages。默认为180000,改为5000。

net.ipv4.tcp_max_tw_buckets = 5000

表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接(SYN_RECV)的网络连接数。

net.ipv4.tcp_max_syn_backlog = 8192

通过dmesg可以确认是否有该情况发生 dmesg | grep "TCP: drop open request from",可以用命令 netstat -ant|grep SYN_RECV|wc -l 查看具体大小,大多数情况下这个值应该是0或很小,因为半连接状态从第一次握手完成时进入,第三次握手完成后退出,正常的网络环境中这个过程发生很快,如果这个值较大,服务器极有可能受到了SYN Flood攻击。
另外,上述行为受到内核参数tcp_syncookies的影响,若启用syncookie机制,当半连接队列溢出时,并不会直接丢弃SYN包,而是回复带有syncookie的SYC+ACK包,设计的目的是防范SYN Flood造成正常请求服务不可用。

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

net.ipv4.ip_local_port_range = 1025 64511

sock缓冲区大小,默认值124928改成67108864

net.core.rmem_max = 67108864
net.core.wmem_max = 67108864

nf_conntrack表最大连接数修改,解决tcp ping丢包问题。nf_conntrack_max决定连接跟踪表的大小,默认值是65535,修改为1048576。
nf_conntrack_buckets决定存储conntrack条目的哈希表大小,默认值是nf_conntrack_max的1/4。
nf_conntrack_tcp_timeout_established决定ESTABLISHED状态连接的超时时间,默认值是5天,可以缩短到1小时,即3600。

net.netfilter.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_buckets = 262144
net.netfilter.nf_conntrack_tcp_timeout_established = 3600

修改后,执行sysctl -p 生效

最后编辑于: 2018 年 12 月 26 日