请根据服务器性能优化系统内核的网络性能参数,本文提供的建议值是按照32G内存来配置的。
目录/proc/sys中的内核文件与/etc/sysctl.conf中的变量存在对应关系,只不过/proc/sys中的参数值在重启操作系统后会被重置,一般用于临时调整,而/etc/sysctl.conf是一个用于修改正在运行的linux系统内核参数的接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,修改后永久生效。
编辑/proc/sys:
/proc/sys/net/ipv4/tcp_fin_timeout #本端断开的socket连接,TCP保持在FIN-WAIT-2状态的时间。默认值是60,建议为300 /proc/sys/net/ipv4/tcp_mem #TCP使用的内存页面数,根据内存进行计算,三个值分别代表low、pressure、higt /proc/sys/net/ipv4/tcp_tw_reuse #是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接。默认值是0,建议为1 /proc/sys/net/ipv4/tcp_tw_recycle #启用快速TIME-WAIT sockets回收。默认值是1 /proc/sys/net/ipv4/tcp_syn_retries #对于一个新建连接,内核发送多少次SYN连接请求后放弃。默认值是6,负载大且网络状况好的情况下建议更小 /proc/sys/net/ipv4/tcp_synack_retries #对于远端的连接请求SYN,内核回复一个SYN+ACK数据包作为确认。默认值是5(相当于180秒) /proc/sys/net/ipv4/tcp_timestamps #用于防范伪造的sequence号码。默认值是1 /proc/sys/net/ipv4/tcp_max_syn_backlog #保存的一直未获得客户端确认的连接请求的队列的最大长度。默认值是2048 /proc/sys/net/ipv4/tcp_max_orphans #系统所能处理的不属于任何进程的TCP sockets的最大数量。默认值是262144 /proc/sys/net/ipv4/tcp_wmem #发送缓存设置,三个值分别代表min、default、max。 /proc/sys/net/ipv4/tcp_rmem #接收缓存设置,三个值分别代表min、default、max。 /proc/sys/net/ipv4/tcp_window_scaling #设置tcp/ip会话的滑动窗口大小是否可变,低速网络环境中建议关闭。默认值是1 /proc/sys/net/ipv4/tcp_sack #使用Selective ACK,可以用来查找特定的遗失的数据包,有助于快速恢复状态。默认值是1 /proc/sys/net/ipv4/tcp_keepalive_time #TCP发送keepalive探测消息的间隔时间(秒),用于确认TCP连接是否有效。默认值是7200 /proc/sys/net/ipv4/tcp_max_tw_buckets #系统同时处理的最大timewait sockets数目,用于抵御简单的DoS功能。默认值是262144,建议为1048576 /proc/sys/net/core/somaxconn #用来限制监听队列中最大数据包的数量,超过该值将导致连接超时或触发重传机制。默认值是128,建议为512 /proc/sys/net/core/netdev_max_backlog #每个网络接口接收数据包的速率快于内核处理速率时,允许送到队列的数据包的最大值。默认值是1000,建议为3000
编辑/etc/sysctl.conf:
net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 net.ipv4.tcp_max_tw_buckets = 256000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 262144 net.core.somaxconn = 262144 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 30 net.ipv4.ip_local_port_range = 1024 65000
保存后,运行以下命令使配置生效:
sysctl -p
原创文章禁止转载:技术学堂 » Linux操作系统常见网络性能优化