启用与创建

安装 YMatrix 数据库时,默认情况下不会启用任何资源管理策略。要使用资源组,请设置 resource_scheduler='on'

启用资源组

1.将 gp_resource_manager 服务器配置参数设置为值 "group""group-v2"

gpconfig -c gp_resource_manager -v "group"
gpconfig -c gp_resource_manager -v "group-v2"

2.重启 YMatrix 数据库集群

mxstop
mxstart

启用后,角色提交的任何事务都将定向到分配给该角色的资源组,并受该资源组的并发、内存、CPU限制的约束。

YMatrix 默认创建名为 admin_groupdefault_groupsystem_group 的角色资源组。启用资源组时,任何未显式分配资源组的角色都将分配至该角色功能的默认组。SUPERUSER 角色分配至 admin_group,非管理员角色分配至 default_group,系统进程的资源分配至 system_group。其中,不能手动将任何角色分配给 system_group

各角色资源组配置如下.

参数 admin_group default_group system_group
CONCURRENCY 10 5 0
CPU_MAX_PERCENT 10 20 10
CPU_WEIGHT 100 100 100
CPUSET -1 -1 -1
IO_LIMIT -1 -1 -1
MEMORY_LIMIT -1 -1 -1
MIN_COST 0 0 0

创建资源组

CREATE RESOURCE GROUP 命令创建新的资源组。为角色创建资源组时,提供名称和 CPU 资源分配模式(核心或百分比)。必须提供 CPU_MAX_PERCENTCPUSET 限制值。

使用示例
创建一个名为 rgroup1 的资源组,其 CPU 限制为 20,内存限制为 250,CPU 优先级为 500,最小开销为 50:

CREATE RESOURCE GROUP rgroup1 WITH (CONCURRENCY=20, CPU_MAX_PERCENT=20, MEMORY_QUOTA=250, CPU_WEIGHT=500, MIN_COST=50);

其中,CPU 和内存限制由分配给 rgroup1 的每个角色共享。

ALTER RESOURCE GROUP 命令更新资源组的限制。

ALTER RESOURCE GROUP rg_role_light SET CONCURRENCY 7;
ALTER RESOURCE GROUP exec SET MEMORY_QUOTA 30;
ALTER RESOURCE GROUP rgroup1 SET CPUSET '1;2,4';

注意!
不能将 admin_groupCONCURRENCY 值设置或更改为 0。

删除资源组

DROP RESOURCE GROUP 命令删除资源组。要删除角色的资源组,该组不能分配给任何角色,资源组中也不能有任何活动或等待的事务。

DROP RESOURCE GROUP exec;