首页 > 数据库 > > 资源管理准备-创建资源池
GaussDB 200支持通过创建资源池对主机资源进行划分。开启资源负载管理之后,仅使用默认资源池并不能满足业务对资源负载管理的诉求,必须根据需要创建新的资源池,对系统资源进行重分配,来满足实际业务对系统资源精细管理的需要。多租户场景通过两级资源池(组资源池和业务资源池)进行资源管理。各类型资源池的特点如表1所示。
资源池分类 | 特点 |
|---|---|
组资源池(多租户场景) |
|
业务资源池(多租户场景) |
|
普通资源池(普通场景) |
|
在开启了资源负载管理功能之后,系统会自动创建default_pool,当一个会话或者用户没有指定关联的资源池时,都会被默认关联到default_pool。default_pool默认绑定DefaultClass:Medium控制组,并且不限制所关联的业务的并发数。default_pool的详细属性如表2所示。
属性 | 属性值 | 说明 |
|---|---|---|
respool_name | default_pool | 资源池名称。 |
mem_percent | 100 | 最大占用内存百分比。 |
cpu_affinity | -1 | CPU亲和性,保留参数。 |
control_group | DefaultClass:Medium | 资源池关联的控制组。 |
active_statements | -1 | 资源池允许的最大并发数。-1为不限制并发数量。 |
max_dop | 1 | 开启SMP后,算子执行的并发度,保留参数。 |
memory_limit | 8GB | 内存使用上限,保留参数。 |
parentid | 父资源池OID。 | |
io_limits | 每秒触发IO的次数上限。行存单位是万次/s,列存是次/s。0表示不控制。 | |
io_priority | None | IO利用率高达90%时,重消耗IO作业进行IO资源管控时关联的优先级等级。None表示不控制。 |
注意:已熟悉CREATE RESOURCE POOL、ALTER RESOURCE POOL和DROP RESOURCE POOL语法的使用。
创建资源池
CREATE RESOURCE POOL resource_pool_a WITH (control_group='class_a');
CREATE RESOURCE POOL resource_pool_b WITH (control_group='class_b');
CREATE RESOURCE POOL
CREATE RESOURCE POOL resource_pool_a1 WITH (control_group='class_a:workload_a1');
CREATE RESOURCE POOL resource_pool_a2 WITH (control_group='class_a:workload_a2');
CREATE RESOURCE POOL resource_pool_b1 WITH (control_group='class_b:workload_b1');
CREATE RESOURCE POOL resource_pool_b2 WITH (control_group='class_b:workload_b2');
CREATE RESOURCE POOL
说明:管理资源池
ALTER RESOURCE POOL resource_pool_a2 WITH (control_group="class_a:workload_a1");
ALTER RESOURCE POOL
删除资源池
删除资源池。例如下面删除资源池“resource_pool_a2”
DROP RESOURCE POOL resource_pool_a2;
DROP RESOURCE POOL
说明:
注意:SELECT * FROM PG_RESOURCE_POOL;respool_name | mem_percent | cpu_affinity | control_group | active_statements | max_dop | memory_limit | parentid | io_limits | io_priority
------------------+-------------+--------------+---------------------+-------------------+---------+--------------+----------+-----------+-------------
default_pool | 100 | -1 | DefaultClass:Medium | -1 | 1 | 8GB | | 0 | None
resource_pool_a | 20 | -1 | class_a | 10 | 1 | 8GB | 0 | | None
resource_pool_b | 20 | -1 | class_b | 10 | 1 | 8GB | | 0 | None
resource_pool_a1 | 20 | -1 | class_a:workload_a1 | 10 | 1 | 8GB | 16970 | | None
resource_pool_a2 | 20 | -1 | class_a:workload_a2 | 10 | 1 | 8GB | 16970 | 0 | None
resource_pool_b1 | 20 | -1 | class_b:workload_b1 | 10 | 1 | 8GB | 16971 | | None
resource_pool_b2 | 20 | -1 | class_b:workload_b2 | 10 | 1 | 8GB | 16971 | 0 | None
(7 rows)
SELECT * FROM gs_control_group_info('resource_pool_a1');name | class | workload | type | gid | shares | limits | rate | cpucores
---------------------+---------+-------------+-------+-----+--------+--------+------+----------
class_a:workload_a1 | class_a | workload_a1 | DEFWD | 87 | 30 | | 0 | -3
(1 row)
属性 | 属性值 | 说明 |
|---|---|---|
name | class_a:workload_a1 | class和workload名称 |
class | class_a | Class控制组名称 |
workload | workload_a1 | Workload控制组名称 |
type | DEFWD | 控制组类型(Top、CLASS、BAKWD、DEFWD、TSWD) |
gid | 87 | 控制组id |
shares | 30 | 占父节点CPU资源的百分比 |
limits | 占父节点CPU核数的百分比 | |
rate | Timeshare中的分配比例 | |
cpucores | 0-3 | CPU核心数 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3123675/ ,如需转载,请注明出处,否则将追究法律责任。