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

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

参与9

4同行回答

actor168actor168课题专家组研发工程师中国联通软件研究院
麒麟os性能优化主要在如下方面:1. 整体优化主要是针对硬件和操作系统通用属性调整。* 硬件部分鲲鹏平台,在不进行虚拟化场景下,bios中设置关闭smmu;* 系统部分关闭irqbalance、numa绑定2. 分场景优化* 关系型数据库场景设置tcp_fin_timeout、tcp_tw_reuse等避免大量clos...显示全部

麒麟os性能优化主要在如下方面:

1. 整体优化
主要是针对硬件和操作系统通用属性调整。
* 硬件部分
鲲鹏平台,在不进行虚拟化场景下,bios中设置关闭smmu;
* 系统部分
关闭irqbalance、numa绑定

2. 分场景优化
* 关系型数据库场景
设置tcp_fin_timeout、tcp_tw_reuse等避免大量close_wait并导致无法新创建连接问题
* es场景
修改dirty ratio和dirty background ratio降低io wait和全局hang发生
* 大数据场景
关闭swap、使用系统自带的jvm、调整磁盘io参数nr_requests等
* 容器云虚拟化场景
关闭swap、设置ip_forward 、tcp_fin_timeout、bridge-nf-call-iptables等

3. 其他未知需优化
* 通过log分析,查阅资料,借助bcc定位等手段动态需求方案

收起
电信运营商 · 6天前
浏览36
CiaoCiao架构师某证券公司
在GaussDB的部署过程中,针对性的对操作系统层面进行如下调优设置,提升系统性能。 1、关闭SELinux,/etc/selinux/config文件中的“SELINUX”值为“disabled”。关闭SELinux可能会解决兼容性问题、简化配置和提高性能。 2、关闭swap交换内存,避免数据库使用交换分区而引起的数...显示全部

在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
浏览70
道满道满系统架构师某科技公司
尽量保证服务器的用途独立,比如业务服务、中间件和数据库的优化方面是有差异的。对于数据库用途,一般官方文档上会有关于透明大页的相关处理,一般都是需要禁用;对于服务和中间件,网络方面是调整TPC等参数、有本地数据IO需求的则需要考虑磁盘性能;通用的部分主要包括脏页策略、...显示全部

尽量保证服务器的用途独立,比如业务服务、中间件和数据库的优化方面是有差异的。

  • 对于数据库用途,一般官方文档上会有关于透明大页的相关处理,一般都是需要禁用;
  • 对于服务和中间件,网络方面是调整TPC等参数、有本地数据IO需求的则需要考虑磁盘性能;
  • 通用的部分主要包括脏页策略、电源策略等,大体与RH是相似的
收起
软件开发 · 2024-04-24
浏览88
三虎三虎联盟成员系统运维工程师中国邮政储蓄银行
其实一些大厂,针对各个操作系统,会在使用中,不断总结并形成自己的配置规范(又有称基线、母袋),主要解决:1)统一的部署规范,确保同一版本下配置一致,便于后续的管理、维护;2)解决生产安全问题,规范涵盖安全要求,如密码强度、漏洞修复等方面的需求;3)厂内要求的个性化配置,如配合监控等做一...显示全部

其实一些大厂,针对各个操作系统,会在使用中,不断总结并形成自己的配置规范(又有称基线、母袋),主要解决:
1)统一的部署规范,确保同一版本下配置一致,便于后续的管理、维护;
2)解决生产安全问题,规范涵盖安全要求,如密码强度、漏洞修复等方面的需求;
3)厂内要求的个性化配置,如配合监控等做一些特定的调整等;

提问中提到的常用中间件或国产化数据库,其实在其官网都会有软件部署环境的要求,其中就包括了操作系统参数调优。

目前了解到,GaussDB在调优时,推荐使用4K页块大小(PAGESIZE),在OLTP场景下,读写性能更优,所以如果默认是64K需重新编译4K'内核后,再对内核升级,同时调整页大小会导致swap失效,需重新格式化后挂载。

收起
银行 · 2024-04-05
浏览133

ChatGPT 回答

针对麒麟操作系统的内核优化实践案例,以下是一些可能有用的建议:

  1. 针对企业应用场景进行内核参数优化。例如,对于需要大量网络通信的应用,可以通过调整TCP/IP协议栈参数来提高网络性能;对于需要大量IO操作的应用,可以通过调整磁盘调度算法来提高IO性能。
  2. 对于常用中间件的优化,可以考虑使用专门针对该中间件的优化工具。例如,对于Nginx,可以使用ngx_pagespeed模块来优化网页加载速度;对于Tomcat,可以使用JVM参数来优化内存使用和垃圾回收。
  3. 针对国产化数据库的优化,可以考虑使用数据库厂商提供的优化工具和建议。例如,GaussDB提供了专门的性能优化工具和建议,可以根据具体的应用场景进行优化。
  4. 针对特定硬件平台的优化,可以考虑使用CPU、内存、磁盘等硬件的专门优化工具。例如,Intel提供了针对其CPU的优化工具集,可以提高CPU性能和功耗效率。

总之,针对不同的应用场景和硬件平台,需要进行不同的内核优化和中间件优化。企业应该根据自身的需求和实际情况,选择合适的优化方案和工具。

提问者

Mr_yyy
Mr_yyy0211
其它某股份制银行
擅长领域: 服务器信创信创操作系统

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2024-03-22
  • 关注会员:5 人
  • 问题浏览:636
  • 最近回答:6天前
  • X社区推广