咨询下麒麟操作系统内核优化有没有实践案例?

随着国产化服务器操作系统推广普及,越来越多的企业使用了麒麟操作系统,其上可能运行常用中间件(如东方通、nginx、tomcat等)、国产化数据库(如GaussDB、goldendb、TiDB、达梦等),有无相关的内核优化实践案例?...显示全部

随着国产化服务器操作系统推广普及,越来越多的企业使用了麒麟操作系统,其上可能运行常用中间件(如东方通、nginx、tomcat等)、国产化数据库(如GaussDB、goldendb、TiDB、达梦等),有无相关的内核优化实践案例?

收起
参与9

查看其它 3 个回答Ciao的回答

CiaoCiao架构师某证券公司

在GaussDB的部署过程中,针对性的对操作系统层面进行如下调优设置,提升系统性能。
1、关闭SELinux,/etc/selinux/config文件中的“SELINUX”值为“disabled”。关闭SELinux可能会解决兼容性问题、简化配置和提高性能。
2、关闭swap交换内存,避免数据库使用交换分区而引起的数据库性能下降。
3、关闭RemoveIPC。当RemoveIPC参数设置为yes时,操作系统会在对应用户退出时删除IPC资源(共享内存和信号量),从而使得数据库服务器使用的IPC资源被清理,引发数据库宕机。
4、升级audit版本,audit进程默认开启,默认版本长期运行后会自动占用大量内存,影响系统使用。
5、系统内核参数调优。GaussDB安装过程中,针对系统内核参数做如下调优设置:

参数名称参数说明推荐取值
net.ipv4.tcp_max_tw_buckets表示同时保持TIME_WAIT状态的TCP/IP连接最大数量。10000
net.ipv4.tcp_tw_reuse允许将TIME-WAIT状态的sockets重新用于新的TCP连接。1
net.ipv4.tcp_tw_recycle表示开启TCP连接中TIME-WAIT状态sockets的快速回收。1
net.ipv4.tcp_keepalive_time表示当keepalive启用的时候,TCP发送keepalive消息的频度。30
net.ipv4.tcp_keepalive_probes在认定连接失效之前,发送TCP的keepalive探测包数量。9
net.ipv4.tcp_keepalive_intvl当探测没有确认时,重新发送探测的频度。30
net.ipv4.tcp_retries1在连接建立过程中TCP协议最大重试次数。5
net.ipv4.tcp_syn_retriesTCP协议SYN报文最大重试次数。5
net.ipv4.tcp_synack_retriesTCP协议SYN应答报文最大重试次数。5
net.ipv4.tcp_retries2控制内核向已经建立连接的远程主机重新发送数据的次数。12
vm.overcommit_memory控制在做内存分配的时候,内核的检查方式。0
net.ipv4.tcp_rmemTCP协议接收端缓冲区的可用内存大小。8192 250000 16777216
net.ipv4.tcp_wmemTCP协议发送端缓冲区的可用内存大小。8192 250000 16777216
net.core.wmem_maxsocket发送端缓冲区大小的最大值。21299200
net.core.rmem_maxsocket接收端缓冲区大小的最大值。21299200
net.core.wmem_defaultsocket发送端缓冲区大小的默认值。21299200
net.core.rmem_defaultsocket接收端缓冲区大小的默认值。21299200
net.ipv4.ip_local_port_range物理机可用临时端口范围。26000-65535
kernel.sem内核信号量参数设置大小。250 6400000 1000 25600
vm.min_free_kbytes保证物理内存有足够空闲空间,防止突发性换页。系统总内存的5%
net.core.somaxconn定义了系统中每一个端口最大的监听队列的长度。65535
net.ipv4.tcp_syncookies启用cookies来处理,可防范少量SYN攻击。1
net.core.netdev_max_backlog在每个网络接口接收队列的数据包的最大数目。65535
net.ipv4.tcp_max_syn_backlog记录的那些尚未收到客户端确认信息的连接请求的最大值。65535
net.ipv4.tcp_fin_timeout系统默认的超时时间。60
kernel.shmall内核可用的共享内存总量。1152921504606840000
kernel.shmmax内核参数定义单个共享内存段的最大值。18446744073709500000
net.ipv4.tcp_sack启用有选择的应答。1
net.ipv4.tcp_timestampsTCP时间戳。1
vm.extfrag_threshold系统在内存碎片的处理倾向。500
MTU节点网卡最大传输单元。调整为8192可以提升数据收发的性能。8192

证券 · 2024-04-30
浏览147

回答者

Ciao
Ciao0011
架构师某证券公司
擅长领域: 服务器信创信创操作系统

Ciao 最近回答过的问题

回答状态

  • 发布时间:2024-04-30
  • 关注会员:5 人
  • 回答浏览:147
  • X社区推广