GBase 8a
性能调优
文章

GBASE8a性能调优_硬件配置建议

发表于2024-12-30 20:08:39202次浏览2个评论

硬件配置建议

1.1CPU

需注意 BIOS 中的设置是非省电模式,避免 CPU 自动降频运行。采 用 Intel   CPU   的 服 务 器 且 不 进 行 多 实 例 部 署 场 景 下 , 建 议 关 闭 vm.zone_reclaim_mode 参数。设置 NUMA 参数关闭方法:

A、修改当前系统值:echo 0 > /proc/sys/vm/zone_reclaim_mode 

B、修改或新增到配置文件/etc/sysctl.conf   vm.zone_reclaim_mode = 0

在国产 CPU 芯片服务器上使用多实例方式部署时,需要进行 NUMA 节点与数据库 实例的绑定。绑定方法可参考《GBase 8a MPP Cluster V953 多实例最佳实践》。

内存

内存的使用方式需要配置 PCT  参数(gbase_memory_pct_target),该参数决定了 gbased 进程可以使用的内存占操作系统内存的比例,关闭 swap 后,可预留 20%给 其它程序使用。同时可以按需配置数据堆,算子堆和 TEMP 堆的大小。

SWAP

对于小内存服务器,SWAP 配置为物理内存的 2 倍。对于大内存服务器,可配置 SWAP 大小为 64GB~128GB。

网络

网络采用万兆网,需要提前测试各个节点间带宽。

硬盘

需根据硬盘块数以及 raid 方式计算磁盘 IO 并测试磁盘性能。对于多实例部署,如果磁盘块数足够,可以考虑各个实例使用不同的磁盘(目前需 要手动映射)。

1.2操作系统配置建议

1.2.1操作系统参数调整建议

GBase 8a 集群在安装时会对需要调整的操作系统参数进行自动调整,v8.6 版本在安 装时由 InstallTar.py 程序完成对操作系统参数的配置;v9.5 版本需要在安装前执行 SetSysEnv.py 程序完成操作系统参数的配置。如果修改或配置操作系统参数请联系Gbase工程师或参考。通常在 GBase 8a 集群运行期间,如遇到参数被修改可以参照产品手册进行调整。

在部分操作系统中(如 redhat6.7),修改打开文件数的配置,除修改 limits.conf 文 件外,还需要修改/etc/security/limits.d/90-nproc.conf 文件,需要手动在 90-nproc.conf 文件中增加如下内容:* soft  nproc 655360

1.2.2磁盘调度策略建议

数据库属于 I/O 密集型应用,建议 GBase 集群节点设置数据存储所在的磁盘 I/O 调 度策略如下:

机械磁盘的调度策略建议为 deadline。磁盘 I/O 调度策略修改方式:

 echo deadline > /sys/block/$数据所在的盘符/queue/scheduler

这种修改方法为修改当前系统配置,操作系统重启后需重新设置。 或者

修改/etc/default/grub 文件,找到 GRUB_CMDLINE_LINUX  这一行,在双引号 内加入 elevator=deadline transparent_hugepage=never,之后使用操作系统 root 用户执行 grub2-mkconfig -o /boot/grub2/grub.cfg。这种修改方法为永久性修改,修改 grub  启动参数,操作系统启动时全局生效。

 注:机械磁盘的调度策略 CentOS/Redhat 8.0 系列为mq_deadline。SSD 磁盘 I/O 调度策略为 Noop。

1.2.3cache 参数设置建议

建议设置操作系统趋向于回收 cache,避免 cache 满后进行内存分配性能差的问题:

修改方式 1:

echo 1024 >/proc/sys/vm/vfs_cache_pressure   echo 8388608 >/proc/sys/vm/min_free_kbytes  

修改方式 2,编辑/etc/sysctl.conf 配置文件:

vm.vfs_cache_pressure = 1024  vm.min_free_kbytes = 8388608

/proc/sys/vm/min_free_kbytes  文件表示强制 Linux  VM  最低保 留多少空闲内存 (Kbytes),大小设置为物理内存的 1/12,如上述设置是在 96G 内存的服务器上设 置该参数取值为 8GB。

1.2.4透明页管理设置建议

GBase 数据库没有针对透明页管理进行优化,所以需要关闭透明页管理功能。使用 root 用户修改/sys/kernel/mm/transparent_hugepage/ enabled 配置文件,命令如下:

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

1.2.5最大任务数限制建议

在 Redhat7 、Suse11 及之后的操作系统中,还需要修改/etc/systemd/system.conf 文件 中的 DefaultTasksMax 配置项,修改为 DefaultTasksMax=infinity。

1.2.6文件系统缓存设置建议

默认情况下, Linux 会最多使用40%的可用内存作为文件系统缓存。当超过这个阈 值后,文件系统会把缓存中的内容全部写入磁盘, 导致后续的 IO 请求都是同步。 如果文件系统将全部缓存中的内容写入磁盘,影响 IO 系统响应,导致越来越多的 请求堆积,最终系统内存全部被占用,导致系统失去响应。

故可以通过调优文件系统缓存参数,来缓解数据库执行 SQL  任务阻塞根据应用程 序情况:

对 vm.dirty_ratio,vm.dirty_background_ratio 两个参数进行调优设置,根据应用程序 情况,通过文件系统参数 vm.dirty_ratio,vm.dirty_background_ratio 进行调整。例如,

推荐如下设置:

# sysctl -wvm.dirty_ratio=10

# sysctl -wvm.dirty_background_ratio=5 

# sysctl -p

如果系统永久生效,需修改/etc/sysctl.conf文件。加入如下两行然后重启系统生效。

 #vi /etc/sysctl.conf

vm.dirty_background_ratio = 5 

vm.dirty_ratio = 10
 

评论

登录后才可以发表评论
崔哥发表于 6个月前
墙角数枝梅,凌寒独自开。遥知不是雪,为有暗香来。
曾浩轩发表于 2个月前
厉害了