操作系统参数调优

对于不同的操作系统,通过在操作系统层面调整一些参数配置,可以有效提升服务器性能。

调优方法

通过设置如表1所示的系统参数进行调优。

表1 操作系统参数优化建议

参数类型

参数名称

参数含义

建议

网络参数

net.core.somaxconn

Socket侦听队列的最大长度,频繁建立连接需要调大该值。

默认为128,建议配置为2048。

net.core.netdev_max_backlog

协议栈处理的缓冲队列长度,设置的过小有可能造成丢包。

建议配置为10000。

net.core.rmem_default

接收缓冲区队列的默认长度。

建议配置为16777216。

net.core.wmem_default

发送缓冲区队列的默认长度。

建议配置为16777216。

net.core.rmem_max

接收缓冲区队列的最大长度。

建议配置为16777216。

net.core.wmem_max

发送缓冲区队列的最大长度。

建议配置为16777216。

net.ipv4.ip_local_port_range

本地TCP/UDP的端口范围,本地使用该范围内的端口与远端发起连接。

建议的端口范围为3500~65535。

net.ipv4.tcp_rmem

Socket接收缓冲区的大小,分别为最小值、默认值、最大值。

建议最小值、默认值、最大值分别配置为4096、87380、16777216。

net.ipv4.tcp_wmem

Socket发送缓冲区的大小,分别为最小值、默认值、最大值。

建议最小值、默认值、最大值分别配置为4096、65536、16777216。

net.ipv4.tcp_max_syn_backlog

处于SYN_RECVD状态的连接数。

建议配置为16384。

net.ipv4.tcp_fin_timeout

Socket主动断开之后FIN-WAIT-2状态的持续时间。

建议配置为15。

net.ipv4.tcp_tw_reuse

允许重用处于TIMEWAIT状态的Socket。

建议配置为1。

net.ipv4.tcp_slow_start_after_idle

禁止TCP连接从Idle状态的慢启动,降低某些情况的网络延迟。

建议配置为0。

虚拟内存配置

vm.swappiness

优先使用物理内存。

建议配置为0。

vm.max_map_count

进程可以拥有的虚拟内存区域数量。

建议配置为655360。

AIO配置

fs.aio-max-nr

异步IO的请求数目。

建议配置为1048576。

查看及修改操作系统相关参数

请修改操作系统内核参数,因为这些参数对系统性能和稳定性具有重要影响。建议您在经验丰富的系统管理员的指导下进行此操作。

表1所示的系统参数均可以通过如下两种方式查看和修改。