Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

ALTER RESOURCE GROUP

Изменяет ограничения ресурсной группы.

Синтаксис

ALTER RESOURCE GROUP <name> SET <group_attribute> <value>

где group_attribute может быть одним из:

CONCURRENCY <integer>
CPU_RATE_LIMIT <integer>
CPUSET <master_cores>;<segment_cores>
MEMORY_LIMIT <integer>
MEMORY_SHARED_QUOTA <integer>
MEMORY_SPILL_RATIO <integer>

Описание

ALTER RESOURCE GROUP изменяет ограничения ресурсной группы. Только суперпользователь может изменять ресурсную группу.

Вы можете установить или сбросить ограничение параллелизма для ресурсной группы, созданной для ролей, чтобы контролировать максимальное количество активных параллельных операторов в этой группе. Вы также можете сбросить ресурсы памяти или процессора для ресурсной группы, чтобы контролировать объем ресурсов памяти или процессора, которые могут потреблять все запросы, отправленные через эту группу, на каждом хосте сегмента.

Когда вы изменяете режим управления ресурсами процессора или лимит для ресурсной группы, новый режим или лимит применяется немедленно.

Когда вы изменяете лимит памяти для ресурсной группы, созданной для ролей, новый лимит ресурсов применяется немедленно, если текущее использование ресурсов меньше или равно новому значению и в ресурсной группе нет запущенных транзакций. Если текущее использование ресурсов превышает новое значение лимита памяти или если в других ресурсных группах есть запущенные транзакции, которые удерживают часть ресурсов, то Greengage DB откладывает назначение нового лимита до тех пор, пока использование ресурсов не попадет в диапазон нового значения.

Когда вы увеличиваете лимит памяти для ресурсной группы, созданной для внешних компонентов, новый лимит ресурсов вводится поэтапно по мере появления доступных ресурсов системной памяти. Если вы уменьшаете лимит памяти для ресурсной группы, созданной для внешних компонентов, поведение зависит от компонента. Например, если вы уменьшаете лимит памяти для ресурсной группы, созданной для среды выполнения PL/Container, запросы в работающем контейнере могут завершиться с ошибкой нехватки памяти.

Вы можете изменить один тип ограничения в одном вызове ALTER RESOURCE GROUP.

Параметры

Параметр Описание

name

Имя ресурсной группы для изменения

CONCURRENCY <integer>

Максимальное количество параллельных транзакций, включая активные и бездействующие транзакции, разрешенное для ресурсных групп, назначенных ролям. Любые транзакции, отправленные после достижения лимита значения CONCURRENCY, ставятся в очередь. Когда запущенная транзакция завершается, запускается самая ранняя транзакция из очереди. Значение CONCURRENCY должно быть целым числом в диапазоне [0 .. max_connections]. Значение CONCURRENCY по умолчанию для ресурсной группы, созданной для ролей, равно 20. Обратите внимание, что вы не можете установить значение CONCURRENCY для admin_group равным нулю 0

CPU_RATE_LIMIT <integer>

Процент ресурсов процессора, выделяемых этой ресурсной группе. Минимальный процент процессора для ресурсной группы равен 1. Максимальный — 100. Сумма значений CPU_RATE_LIMIT всех ресурсных групп, определенных в кластере Greengage DB, не должна превышать 100. Если вы изменяете CPU_RATE_LIMIT ресурсной группы, в которой вы ранее настроили CPUSET, CPUSET деактивируется, зарезервированные ядра процессора возвращаются в Greengage DB, а CPUSET устанавливается в -1

CPUSET <master_cores>;<segment_cores>

Ядра процессора, которые нужно зарезервировать для этой ресурсной группы на мастер-хосте и хостах сегментов. Ядра процессора, которые вы указываете, должны быть доступны в системе и не могут перекрываться с какими-либо ядрами процессора, которые вы указываете для других ресурсных групп. Указывайте ядра в виде списка номеров отдельных ядер или интервалов ядер, разделенных запятыми. Сначала определите ядра мастер-хоста, затем ядра хостов сегментов и разделите их точкой с запятой. Вы должны заключить полную конфигурацию ядер в одинарные кавычки. Например, '1;1,3-4' настраивает ядро 1 для мастер-хоста и ядра 1, 3 и 4 для хостов сегментов. Если вы изменяете значение CPUSET ресурсной группы, для которой вы ранее настроили CPU_RATE_LIMIT, CPU_RATE_LIMIT деактивируется, зарезервированные ресурсы процессора возвращаются в Greengage DB, а CPU_RATE_LIMIT устанавливается в -1. Вы можете изменить CPUSET для ресурсной группы только после того, как вы включили управление ресурсами на основе ресурсных групп для вашего кластера Greengage DB

MEMORY_LIMIT <integer>

Процент ресурсов памяти Greengage DB, которые нужно зарезервировать для этой ресурсной группы. Минимальный процент памяти для ресурсной группы равен 0. Максимальный — 100. Значение по умолчанию равно 0. Когда MEMORY_LIMIT равен 0, Greengage DB не резервирует память для ресурсной группы, но использует глобальную общую память для выполнения всех запросов памяти в группе. Если MEMORY_LIMIT равен 0, MEMORY_SPILL_RATIO также должен быть равен 0. Сумма значений MEMORY_LIMIT всех ресурсных групп, определенных в кластере Greengage DB, не должна превышать 100. Если эта сумма меньше 100, Greengage DB выделяет любую незарезервированную память в глобальный пул общей памяти ресурсных групп

MEMORY_SHARED_QUOTA <integer>

Процент ресурсов памяти для совместного использования между транзакциями в ресурсной группе. Минимальный процент общей квоты памяти для ресурсной группы равен 0. Максимальный — 100. Значение MEMORY_SHARED_QUOTA по умолчанию равно 80

MEMORY_SPILL_RATIO <integer>

Порог использования памяти для операторов, интенсивно использующих память, в транзакции. Вы можете указать целочисленное процентное значение от 0 до 100 включительно. Значение MEMORY_SPILL_RATIO по умолчанию равно 0. Когда MEMORY_SPILL_RATIO равен 0, Greengage DB использует значение параметра конфигурации сервера statement_mem для управления начальной памятью оператора запроса

Примечания

Используйте CREATE ROLE или ALTER ROLE, чтобы назначить определенную ресурсную группу роли (пользователю).

Нельзя отправить команду ALTER RESOURCE GROUP в явной транзакции или подтранзакции.

Примеры

Изменить лимит активных транзакций для ресурсной группы:

ALTER RESOURCE GROUP rgroup1 SET CONCURRENCY 13;

Обновить лимит процессора для ресурсной группы:

ALTER RESOURCE GROUP rgroup2 SET CPU_RATE_LIMIT 45;

Обновить лимит памяти для ресурсной группы:

ALTER RESOURCE GROUP rgroup3 SET MEMORY_LIMIT 30;

Обновить коэффициент сброса памяти на диск (spill ratio) для ресурсной группы:

ALTER RESOURCE GROUP rgroup4 SET MEMORY_SPILL_RATIO 25;

Зарезервировать ядро процессора 1 для ресурсной группы на мастер-хосте и всех хостах сегментов:

ALTER RESOURCE GROUP rgroup5 SET CPUSET '1;1';

Совместимость

Оператор ALTER RESOURCE GROUP является расширением Greengage DB. Этой команды нет в стандартном PostgreSQL.

См. также