Управление ресурсными группами
Вы можете управлять квотами на использование ресурсов кластера при помощи ресурсных групп. Для этого подключитесь к кластеру от имени пользователя с ролью mdb_admin
.
Посмотреть информацию о ресурсных группах
Чтобы посмотреть список ресурсных групп и значения их параметров, выполните команду:
SELECT * FROM gp_toolkit.gp_resgroup_config;
Чтобы посмотреть список ролей и ресурсные группы, к которым они относятся, выполните команду:
SELECT rolname, rsgname FROM pg_roles, pg_resgroup
WHERE pg_roles.rolresgroup=pg_resgroup.oid;
Создать ресурсную группу
Передайте имя ресурсной группы и ее параметры в команде:
CREATE RESOURCE GROUP <имя_ресурсной_группы> WITH (<параметр_1>, <параметр_2>, ...);
При создании ресурсной группы достаточно указать значение параметра CPU_RATE_LIMIT
или CPUSET
. Для остальных параметров будут применены значения по умолчанию.
Назначить ресурсную группу для роли
Чтобы создать роль и сразу назначить ей ресурсную группу, выполните команду:
CREATE ROLE <имя_роли> RESOURCE GROUP <имя_ресурсной_группы>;
Примечание
По умолчанию новые роли попадают в ресурсную группу default_group
.
Чтобы назначить для роли другую ресурсную группу, выполните команду:
ALTER ROLE <имя_роли> RESOURCE GROUP <имя_ресурсной_группы>;
Посмотреть текущую загрузку ресурсных групп
SELECT * FROM gp_toolkit.gp_resgroup_status;
SELECT * FROM gp_toolkit.gp_resgroup_status_per_host;
SELECT * FROM gp_toolkit.gp_resgroup_status_per_segment;
Посмотреть список запросов в ресурсных группах
Чтобы посмотреть список запросов на выполнении и в очереди, выполните команду:
SELECT query, waiting, rsgname, rsgqueueduration
FROM pg_stat_activity;
Изменить параметры ресурсной группы
Выполните команду:
ALTER RESOURCE GROUP <имя_ресурсной_группы> SET <имя_параметра> <новое_значение_параметра>;
Удалить ресурсную группу
Ресурсную группу можно удалить, только если она не назначена никаким ролям и не содержит транзакций в очереди или на обработке.
Чтобы удалить ресурсную группу, выполните команду:
DROP RESOURCE GROUP <имя_ресурсной_группы>;
Пример создания ресурсной группы
Создайте ресурсную группу с тестовыми характеристиками:
- Имя
testgroup
. - Максимальное количество обрабатываемых транзакций — 15.
- Доля используемых ресурсов CPU в сегменте — 10%.
- Доля оперативной памяти в сегменте — 20%.
- Доля, выделенная в качестве общей квоты, — 50%.
- Доля оперативной памяти в ресурсной группе, которую может занимать один оператор транзакции, — 30%.
Выполните команду:
CREATE RESOURCE GROUP testgroup
WITH (CONCURRENCY=15, CPU_RATE_LIMIT=10, MEMORY_LIMIT=20, MEMORY_SHARED_QUOTA=50, MEMORY_SPILL_RATIO=30);
Проверьте, что новая ресурсная группа появилась в списке:
SELECT * FROM gp_toolkit.gp_resgroup_config;
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.