GaussDB-gs_cgroup

背景信息

数据库实例环境下做批量任务处理时,因为多任务复杂性,会导致不同机器间的负载差距很大。为了充分利用数据库实例资源,负载管理变得尤为重要。gs_cgroup是GaussDB提供的负载管理工具。负责创建默认控制组、创建用户自定义控制组、删除用户自定义控制组、更新用户自定义组的资源配额和资源限额、显示控制组配置文件内容、显示控制组树形结构和删除用户的所有控制组。

gs_cgroup工具为使用数据库的操作系统用户创建Cgroups配置文件,并且在操作系统中生成用户设定的Cgroups。同时为用户提供增加、删除Cgroups,更新Cgroups资源配额,设定Cgroups的CPU或IO限额,设定异常处理阈值及相应操作等服务。此工具只负责当前操作系统节点的Cgroups操作,使用时需在各个节点上调用相同命令语句进行统一配置。

这里假设读者已经了解了负载管理的相关原理。

docker模式下不支持gs_cgroup进行资源管理。docker模式配置详情查看《安装指南》中“环境准备”章节。

使用示例
  • 使用普通用户或数据库管理员执行命令。
    1. 前置条件:需设置GAUSSHOME环境变量为数据库安装目录;且root用户已创建普通用户默认的控制组。
    2. 创建控制组及设置对应的资源配额,以便在数据库中运行作业时,指定到此控制组,使用此控制组管理的资源;通常数据库管理员为每个数据库用户创建Class组。
      1. 创建Class控制组和Workload控制组。
        gs_cgroup -c -S class1 -s 40  

        创建当前用户新的Class Cgroups命名为“class1”,资源配额为总Class的40%。

        gs_cgroup -c -S class1 -G grp1 -g 20 

        创建当前用户新的class1 Cgroups下属的Workload控制组,命名为“grp1”,资源配额为class1 Cgroups的20%。

      2. 删除grp1控制组和Class控制组。
        gs_cgroup -d -S class1 -G grp1

        删除当前用户已建的“grp1”Cgroups。

        gs_cgroup -d -S class1

        删除当前用户已建的“class1”Cgroups。

        NOTICE:

        如果删除Class控制组,则Workload控制组也被删除。

    3. 更新已创建控制组的资源配额。
      1. 更新动态资源配额。
        gs_cgroup -u -S class1 -G grp1 -g 30

        更新当前用户的class1 Cgroups下属grp1 Cgroups资源配额为class1 Cgroups的30%。

      2. 更新限制资源配额。
        gs_cgroup --fixed -u -S class1 -G grp1 -g 30

        更新当前用户的class1 Cgroups下属grp1 Cgroups限制使用CPU核数范围占上一级class1可用核数的30%。

    4. 更新Gaussdb的CPU核数范围。
      gs_cgroup -u -T Gaussdb -f 0-20

      更新Gaussdb进程使用的CPU核数为0-20。

      -f参数只适用于对Gaussdb设置核数范围。对于其他各控制组,如需设置核数范围,需要使用--fixed参数

    5. 设置异常处理信息(class:wg组需存在)。
      1. 设置组class:wg下的作业阻塞到1200秒或执行2400秒时执行终止动作:
        gs_cgroup -S class -G wg -E "blocktime=1200,elapsedtime=2400" -a

      2. 设置组class:wg下的作业下盘数据量达到256MB或大表广播数据量达到100MB时执行终止动作:
        gs_cgroup -S class -G wg -E "spillsize=256,broadcastsize=100" -a

      3. 设置组Class下的作业在所有DN上CPU总时间到达100s时执行降级动作:
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值