创建资源池
表 1 普通资源池的特点
在开启了资源负载管理功能之后,系统会自动创建default_pool,当一个会话或者用户没有指定关联的资源池时,都会被默认关联到default_pool。default_pool默认绑定DefaultClass:Medium控制组,并且不限制所关联的业务的并发数。default_pool的详细属性如所示。
表 2 default_pool属性
已熟悉、ALTER RESOURCE POOL和语法的使用。
创建资源池
数据库。
创建组资源池关联到指定的子Class控制组。例如下面:名称为“resource_pool_a”的组资源池关联到了“class_a”控制组。
创建业务资源池关联到指定的Workload控制组。例如下面:名称为“resource_pool_a1”的业务资源池关联到了“workload_a1”控制组。
openGauss=# CREATE RESOURCE POOL resource_pool_a2 WITH (control_group='class_a:workload_a2');
openGauss=# CREATE RESOURCE POOL resource_pool_b1 WITH (control_group='class_b:workload_b1');
CREATE RESOURCE POOL
管理资源池
修改资源池的属性。例如下面:修改资源池“resource_pool_a2”关联的控制组为“class_a:workload_a1”(假设class_a:workload_a1未被其他资源池关联)。
删除资源池
删除资源池。例如下面删除资源池“resource_pool_a2”
openGauss=# DROP RESOURCE POOL resource_pool_a2;
DROP RESOURCE POOL
查看当前数据库实例中所有的资源池信息。
------------------+-------------+--------------+---------------------+-------------------+---------+--------------+----------+-----------+--------------+--------------+------------
default_pool | 100 | -1 | DefaultClass:Medium | -1 | 1 | 8GB | 0 | 0 | None | installation | f |
resource_pool_a | 20 | -1 | class_a | 10 | 1 | 8GB | 0 | 0 | None | installation | f |
resource_pool_b | 20 | -1 | class_b | 10 | 1 | 8GB | 0 | 0 | None | installation | f |
resource_pool_a1 | 20 | -1 | class_a:workload_a1 | 10 | 1 | 8GB | 16970 | 0 | None | installation | f |
resource_pool_a2 | 20 | -1 | class_a:workload_a2 | 10 | 1 | 8GB | 16970 | 0 | None | installation | f |
resource_pool_b2 | 20 | -1 | class_b:workload_b2 | 10 | 1 | 8GB | 16971 | 0 | None | installation | f |
(7 rows)
查看某个资源池关联的控制组信息,具体内容可以参考。
name | class | workload | type | gid | shares | limits | rate | cpucores
---------------------+---------+-------------+-------+-----+--------+--------+------+----------
(1 row)
表 3 gs_control_group_info属性