操作系统参数调整建议
南大通用GBase 8a集群在安装时会对需要调整的操作系统参数进行自动调整,v8.6版本在安装时由InstallTar.py程序完成对操作系统参数的配置;v9.5版本需要在安装前执行SetSysEnv.py程序完成操作系统参数的配置。
磁盘调度策略建议
数据库属于I/O密集型应用,建议南大通用GBase集群节点设置数据存储所在的磁盘I/O调度策略如下:
机械磁盘的调度策略建议为deadline。磁盘I/O调度策略修改方式:
1.echo deadline > /sys/block/$数据所在的盘符/queue/scheduler
这种修改方法为修改当前系统配置,操作系统重启后需重新设置。
或者
2.修改/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。
cache参数设置建议
建议设置操作系统趋向于回收cache,避免catch满后进行内存分配(malloc内存)性能差的问题:
修改方式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。
透明页管理设置建议
GBase数据库没有针对透明页管理进行优化,所以需要关闭透明页管理功能。使用root用户修改/sys/kernel/mm/transparent_hugepage/ enabled配置文件,命令如下:
echo never > /sys/kernel/mm/transparent_hugepage/ enabled
最大任务数限制建议
在Redhat7、Suse11及之后的操作系统中,还需要修改/etc/systemd/system.conf文件中的DefaultTasksMax配置项,修改为DefaultTasksMax=infinity。
文件系统缓存设置建议
默认情况下, Linux会最多使用40%的可用内存作为文件系统缓存。当超过这个阈值后,文件系统会把缓存中的内容全部写入磁盘, 导致后续的IO请求都是同步。如果文件系统将全部缓存中的内容写入磁盘,影响IO系统响应,导致越来越多的请求堆积,最终系统内存全部被占用,导致系统失去响应。
故可以通过调优文件系统缓存参数,来缓解数据库执行SQL任务阻塞根据应用程序情况:
对vm.dirty_ratio,vm.dirty_background_ratio两个参数进行调优设置,根据应用程序情况,通过文件系统参数vm.dirty_ratio,vm.dirty_background_ratio进行调整。例如,推荐如下设置:
# sysctl -w vm.dirty_ratio=10
# sysctl -w vm.dirty_background_ratio=5
# sysctl -p
如果系统永久生效,需修改/etc/sysctl.conf文件。加入如下两行然后重启系统生效。
#vi /etc/sysctl.conf
vm.dirty_background_ratio = 5
vm.dirty_ratio = 10
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




