GBase 8a内存参数优化(一)

insert select 申请内存大小参数

_gbase_insert_malloc_size_limit

_gbase_insert_malloc_size_limit 是控制 insert select 场景下一次申请内存的大小。

默认值为 10240,为较优配置。

如果 insert select 中涉及较长的 varchar 字段如包含多个 varchar(2000)的字段,会导致每行或每几行数据申请一次内存,内存频繁的申请就造成了 sys cpu 占用,影响性能。

推荐取值为最大字符串定义的 5 倍,如最大字符串定义为 varchar(2000),则该值可配置为 10000。

内存缓存 DC 个数配置

_gbase_dc_window_size

_gbase_dc_window_size 参数用于配置内存中缓存的 DC 个数,953 版本默认值为 256。

在 join 运算场景中,如_gbase_dc_window_size 参数配置较小,当需要缓存的实际数据量超过设置的 DC 数时,就可能导致 sys 占用。可按需调整。

集群节点间一次数据发送和接收的数据大小

通常这三个从参数都无需调整。在扩容过程中,如发现较为严重的内存占用问题和性能问题 , 可 以 考 虑 调 大 或 调 小 _gbase_rep_receive_buffer_size 、_gbase_rep_pending_memory_size 参数。通过 show engine express status的 SQL 命令可以查_gbase_rep_receive_buffer_size 的使用情况。

_gbase_rep_receive_buffer_size

集群节点间一次数据接收的数据大小。_gbase_rep_receive_buffer_size 参数表示

接收端的缓存大小,默认设置为 20G,最小可设置为 5G,无上限,单位为 MB。

_gbase_rep_pending_memory_size

集群节点间一次数据发送的数据大小。_gbase_rep_pending_memory_size 参数

代表接收端接收缓存的上限,以 MB 为单位,这个值设得越大则接收端的压力越大,

反之则发送端的压力越大,需要找到一个中间值,使发送端和接收端的压力比较均

衡,才能使效率更高。当前经验值是设为物理内存的 10%。

_gbase_rep_receive_buffer_threshold

数据接收和发送的上限。

一次释放 unlock 状态的 DC 数量设置

_gbase_cache_drop_unlock_cell_count

_gbase_cache_drop_unlock_cell_count 参数表示一次释放 unlock 状态的 DC 数量,默认取值为 1000。

当 DC 堆 满 的 时 候 , 执 行 unlock 状 态 的 DC 清 理 释 放 , 一 次 释 放_gbase_cache_drop_unlock_cell_count 个 。

如 果 完 成 一 次 释 放 后 依 然 满 足_gbase_cache_drop_unlock_cell_count 个 unlock 状态的 DC 待释放,则等待_gbase_cache_drop_delay_time 秒后再次进行 unlock 状态 DC 释放。

可以调大_gbase_cache_drop_unlock_cell_count 参数,一次尽量多的释放 DC。

_gbase_cache_drop_delay_time

_gbase_cache_drop_delay_time 参数表示执行 DC 释放的时间间隔,默认为 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值