openGauss 操作系统参数调优

在性能调优过程中,可以根据实际业务情况修改关键操作系统(OS)配置参数,以提升openGauss数据库的性能。

前提条件

需要用户使用gs_check检查操作系统参数结果是否和建议值保持一致,如果不一致,用户可根据实际业务情况去手动修改。

内存相关参数设置

配置“sysctl.conf”文件,修改内存相关参数vm.extfrag_threshold为1000(参考值),如果文件中没有内存相关参数,可以手动添加。

""vim /etc/sysctl.conf

修改完成后,请执行如下命令,使参数生效。

""sysctl -p 

网络相关参数设置

  • 配置“sysctl.conf”文件,修改网络相关参数,如果文件中没有网络相关参数,可以手动添加。详细说明请参见表1

    ""vim /etc/sysctl.conf
    

    在修改完成后,请执行如下命令,使参数生效。

    ""sysctl -p 
    

    表 1 网络相关参数

    参数名

    参考值

    说明

    net.ipv4.tcp_timestamps

    1

    表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭,1表示打开。

    net.ipv4.tcp_mem

    94500000 915000000 927000000

    第一个数字表示,当tcp使用的page少于 94500000 时,kernel不对其进行任何的干预。

    第二个数字表示,当tcp使用的page超过 915000000 时,kernel会进入“memory pressure”压力模式。

    第三个数字表示,当tcp使用的pages超过 927000000 时,就会报:Out of socket memory。

    net.ipv4.tcp_max_orphans

    3276800

    最大孤儿套接字(orphan sockets)数。

    net.ipv4.tcp_fin_timeout

    60

    表示系統默认的TIMEOUT时间。

    net.ipv4.ip_local_port_range

    26000 65535

    TCP和UDP能够使用的port段。

  • 设置10GE网卡最大传输单元(MTU),使用ifconfig命令设置。10GE网卡推荐设置为8192,可提升网络带宽利用率。

    示例:

    ""#ifconfig ethx mtu 8192
    #ifconfig ethx
    ethx   Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
    inet addr:xxx.xxx.xxx.xxx  Bcast:xxx.xxx.xxx.xxx  Mask:xxx.xxx.xxx.0
    inet6 addr: fxxx::9xxx:bxxx:xxxa:1d18/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST  **MTU:8192**  Metric:1
    RX packets:179849803 errors:0 dropped:0 overruns:0 frame:0
    TX packets:40492292 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:17952090386 (17120.4 Mb)  TX bytes:171359670290 (163421.3 Mb)
    

     说明:

    • ethx为10GE数据库内部使用的业务网卡。
    • 第一条命令设置MTU,第二条命令验证是否设置成功,粗体部分为MTU的值。
    • 需使用root用户设置。
  • 设置10GE网卡接收(rx)、发送队列(tx)长度,使用ethtool工具设置。10GE网卡推荐设置为4096,可提升网络带宽利用率。

    示例:

    ""# ethtool -G ethx rx 4096 tx 4096
    # ethtool -g ethx
    Ring parameters for ethx:
    Pre-set maximums:
    RX:             4096
    RX Mini:        0
    RX Jumbo:       0
    TX:             4096
    Current hardware settings:
    RX:             4096
    RX Mini:        0
    RX Jumbo:       0
    TX:             4096
    

     说明:

    • ethx为10GE数据库内部使用的业务网卡。
    • 第一条命令设置网卡接收、发送队列长度,第二条命令验证是否设置成功,示例的输出表示设置成功。
    • 需使用root用户设置。

I/O相关参数设置

设置hugepage属性。通过如下命令,关闭透明大页。

""echo never >
/sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

修改完成后,请执行如下命令,使参数生效。

""reboot
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
openGauss是一款开源的关系型数据库管理系统,它具有多核高性能、全链路安全性、智能运维等企业级特性。 openGauss内核早期源自开源数据库PostgreSQL,融合了华为在数据库领域多年的内核经验,在架构、事务、存储引擎、优化器及ARM架构上进行了适配与优化。作为一个开源数据库,期望与广泛的开发者共同构建一个多元化技术的开源数据库社区。 软件特点: 1、高性能 openGauss突破了多核CPU的瓶颈,实现两路鲲鹏128核150万tpmC,内存优化表(MOT)引擎达350万tpmC。 2、数据分区 内部线程共享的关键数据结构进行数据分区,减少加锁访问冲突。比如CLOG就采用分区优化,解决ClogControlLock锁瓶颈。 3、NUMA化内核数据结构 关键数据结构NUMA化分配,减少跨CPU访问。比如全局PGPROC数组按照NUMA Node的数目分为多份,分别在对应NUMA Node上申请内存。解决ProcArrayLock锁瓶颈。 4、绑核优化 把网络中断绑核和后台业务线程绑核区分开,避免运行线程在核间迁移造成的性能不稳定。 5、ARM指令优化 结合ARM平台的原子操作lse进行优化,实现关键互斥变量原子高效操作。 6、SQL BY PASS 通过SQL BY PASS优化SQL执行流程,简化CPU执行开销。 7、高可靠 正常业务负载情况下,RTO小于10秒,降低节点故障导致的业务不可用时间。 8、并行恢复 主机日志传输到备机时,备机日志落盘的同时,发送给重做恢复分发线程,分发线程根据日志类型和日志操作的数据页发给多个并行恢复线程进行日志重做,保证备机的重做速度跟上主机日志的产生速度。这样备机实时处于ready状态,从而实现瞬间故障切换。 9、MOT引擎(Beta发布) 内存优化表(MOT)存储引擎是一个专为多核大内存优化的存储引擎,具有极高的联机事务处理(OLTP)性能和资源利用率。MOT的数据和索引完全存储在内存中,通过NUMA感知执行,算法消除闩锁争用以及查询JIT本地编译,提供低时延数据访问及高效事务执行。更多请参考MOT引擎文档。 10、安全 openGauss支持账号管理,账号认证,口令复杂度检查,账号锁定,权限管理和校验,传输加密,操作 审计等全方位的数据库安全能力,保护业务满足安全要求。 11、易运维 openGauss将AI算法集成到数据库中,减少数据库维护的负担。 12、SQL预测 openGauss根据收集的历史性能数据进行编码和基于深度学习的训练及预测,支持SQL执行时间预测。 13、SQL诊断器 openGauss支持SQL执行语句的诊断器,提前发现慢查询。 14、参数自动调整 openGauss通过机器学习方法自动调整数据库参数,提高调参效率,降低正确调参成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值