鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

操作系统参数调优

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

调优方法

通过设置如表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所示的系统参数均可以通过如下两种方式查看和修改。

  • 以下命令只会临时修改参数值,重启操作系统后参数将会恢复到默认值。
    例如查看当前系统中net.core.somaxconn的值:
    sysctl net.core.somaxconn
    如果需要修改net.core.somaxconn的值,可以通过如下命令设置:
    sysctl -w net.core.somaxconn=NEW_VALUE
  • 如果想要永久修改net.core.somaxconn的值,需要修改“/etc/sysctl.conf”配置文件并使配置文件生效,操作步骤如下:
    1. 打开“/etc/sysctl.conf”文件。
      vi /etc/sysctl.conf
    2. 按“i”进入编辑模式,在“/etc/sysctl.conf”配置文件中添加以下语句:
      net.core.somaxconn=NEW_VALUE
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 使用以下命令使修改的参数值生效。
      sysctl -p