美文网首页Linux
Linux系统内核参数优化

Linux系统内核参数优化

作者: Joening | 来源:发表于2022-01-18 13:44 被阅读0次

Linux服务器内核参数优化

cat >> /etc/sysctl.conf << EOF
# kernel optimization
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
EOF
sysctl -p

将上面的内核参数加入/etc/sysctl.conf文件中,执行如下命令使之生效:
sysctl -p
sysctl.conf内核文件中常用参数含义:
net.ipv4.tcp_fin_timeout
表示套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间,默认值是60秒。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_fin_timeout 60

net.ipv4.tcp_tw_reuse
表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认值为0,表示关闭。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_tw_reuse 0

net.ipv4.tcp_tw_recycle
表示开启TCP连接中TIME-WAIT sockets的快速回收。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_tw_recycle,默认为0,表示关闭。
提示:reuse和recycle这两个参数是为防止生产环境下Web、Squid等业务服务器time_wait网络状态数量过多设置的。

net.ipv4.tcp_syncookies
表示开启SYN Cookies功能。当出现SYN等待队列溢出时,启用Cookies来处理,可防范少量SYN攻击,这个参数也可以不添加。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_syncookies,默认值为1

net.ipv4.tcp_keepalive_time
表示当keepalive启用时,TCP发送keepalive消息的频度。默认是2小时,建议改为10分钟。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_keepalive_time,默认为7200秒。

net.ipv4.ip_local_port_range
该选项用来设定允许系统打开的端口范围,即用于向外连接的端口范围。
该参数对应系统路径为:/proc/sys/net/ipv4/ip_local_port_range 32768 61000

net.ipv4.tcp_max_syn_backlog
表示SYN队列的长度,默认为1024,建议加大队列的长度为8192或更多,这样可以容纳更多等待连接的网络连接数。
该参数为服务器端用于记录那些尚未收到客户端确认信息的连接请求最大值。
该参数对象系统路径为:/proc/sys/net/ipv4/tcp_max_syn_backlog

net.ipv4.tcp_max_tw_buckets
表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数值,TIME_WAIT套接字将立刻被清除并打印警告信息。
默认为180000,对于Apache、Nginx等服务器来说可以将其调低一点,如改为5000~30000,不通业务的服务器也可以给大一点,比如LVS、Squid。
此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_max_tw_buckets

net.ipv4.tcp_synack_retries
参数的值决定了内核放弃连接之前发送SYN+ACK包的数量。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_synack_retries,默认值为5

net.ipv4.tcp_syn_retries
表示在内核放弃建立连接之前发送SYN包的数量。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_syn_retries 5

net.ipv4.tcp_max_orphans
用于设定系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。
如果超过这个数值,孤立连接将被立即被复位并打印出警告信息。
这个限制只有为了防止简单的DoS攻击。不能过分依靠这个限制甚至认为减少这个值,更多的情况是增加这个值。
该参数对应系统路径为:/proc/sys/net/ipv4/tcp_max_orphans 65536

net.core.somaxconn
该选项默认值是128,这个参数用于调节系统同时发起的TCP连接数,在高并发的请求中,默认的值可能会导致链接超时或重传,因此,需要结合并发请求数来调节此值。
该参数对应系统路径为:/proc/sys/net/core/somaxconn 128

net.core.netdev_max_backlog
表示当每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包最大数。
该参数对应系统路径为:/proc/sys/net/core/netdev_max_backlog,默认值为1000

相关文章

  • linux 内核参数调整优化网络

    linux 内核参数调整优化网络 Linux系统内核设置优化tcp网络,# vi /etc/sysctl.conf...

  • Linux内核参数优化

    Linux内核参数优化 内核参数是用户和系统内核之间交互的一个接口,通过这个接口,用户可以在系统运行的同时动态更新...

  • Linux运维:一听参数优化就烦,最全Linux内核参数大招告别

    kaihsLinux内核参数的优化 Linux /proc/sys目录下存放着多数内核的参数,并且可以在系统运行时...

  • Linux系统内核参数优化

    Linux服务器内核参数优化 将上面的内核参数加入/etc/sysctl.conf文件中,执行如下命令使之生效:s...

  • 优化Linux下的内核TCP参数以提高系统性能

    优化Linux下的内核TCP参数以提高系统性能 内核的优化跟服务器的优化一样,应本着稳定安全的原则。下面以Squi...

  • Nginx优化

    内核参数优化 把如下的参数追加到Linux系统的/etc/sysctl.conf文件中,然后使用如下命令使修改生效...

  • Linux内核常见参数的优化

    主要是指在Linux系统中针对服务应用而进行的系统内核参数调整,优化没有的标准,根据实际需求优化才是最合适的。 编...

  • Linux 常用内核参数作用与常见问题处理

    一、内核参数的查看和修改 查看内核参数 临时修改内核参数 Linux系统启动后,所有的内核参数都保存在 /proc...

  • Linux内核参数优化

    在服务器硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题。...

  • Linux内核参数优化

    压测ceph集群以便评估几家厂商的送测设备,其中一家的设备很奇怪,fio同时压测所有硬盘能达到机械硬盘的极限值,但...

网友评论

    本文标题:Linux系统内核参数优化

    本文链接:https://www.haomeiwen.com/subject/qowncrtx.html