Gbase 在线扩容过程中使用 swap 导致业务性能下降

问题现象
做 8611 在线扩容时,后台作业并发较高时,集群节点出现使用 swap 现象,导致 SQL 执行性能下降。
原因分析
在后台进行日常业务作业情况下进行在线扩容,后台本身业务压力就比较大,加上
在线扩容,总业务量超出了系统承受范围。
解决方法
当日现场调低并发压力,并将复制表改为分布表,重新进行在线扩容未见 swap 问 题出现。
建议在线扩容控制后台业务压力,否则与扩容业务争抢资源严重,哪一个都跑不快。

 代码中添加了一个控制参数:
_gbase_rep_pending_memory_size 此参数代表接收端接收缓存的上限,以 MB 为单位,这个值设得越大,则接收
端的压力越大,反之则发送端的压力越大,因此需要找到一个中间值,使发送
端和接收端的压力比较均衡,才能使效率更高。当前经验值是设为物理内存的
10%。
 参数_gbase_rep_receive_buffer_size 只有通过修改 node 层的配置文件才可生 效, set 和 set global 会报错,如下:
Variable '_gbase_rep_receive_buffer_size' is a read only variable _gbase_rep_receive_buffer_size 默认设置为 20G , 最小可设置为 5G, 无上限, 默认单位为 MB。
查看_gbase_rep_receive_buffer_size 参数是否能控制内存占用情况,执行如下 命令:
gncli -uroot -e "show engine express status \G;" |egrep -i "total|reptask|applic ation" 每隔 2s 记录一次, 查看 total weight 大小,Total weight 单位为字节。
优化了节点间数据传输的负载均衡的控制,能更好地避免出现使用 SWAP 的问题, 但是压力过大的情况下此问题还是会出现,因此还需要通过调整集群下发 SQL 的 并发数来彻底避免此问题。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值