ALTER RESOURCE POOL

ALTER RESOURCE POOL изменяет определение пула ресурсов.

Синтаксис

Изменение параметров

Синтаксис для изменения любого параметра пула ресурсов выглядит следующим образом:

ALTER RESOURCE POOL <name> SET (<key> = <value>);

<key> — имя параметра, <value> — его новое значение.

Например, такая команда включит ограничение на число параллельных запросов, равное 100:

ALTER RESOURCE POOL olap SET (CONCURRENT_QUERY_LIMIT = "100");

Сброс параметров

Команда для сброса параметра пула ресурсов выглядит следующим образом:

ALTER RESOURCE POOL <name> RESET (<key>);

<key> — имя параметра.

Например, такая команда сбросит настройки TOTAL_CPU_LIMIT_PERCENT_PER_NODE для пула ресурсов:

ALTER RESOURCE POOL olap RESET (TOTAL_CPU_LIMIT_PERCENT_PER_NODE);

Разрешения

Требуется разрешение ALTER SCHEMA на пул ресурсов в директории .metadata/workload_manager/pools, пример выдачи такого разрешения:

GRANT 'ALTER SCHEMA' ON `.metadata/workload_manager/pools/olap_pool` TO `user1@domain`;

Параметры

  • CONCURRENT_QUERY_LIMIT (Int32) — опциональное поле, задающее количество параллельно выполняющихся запросов в пуле ресурсов. Если значение -1, то ограничений нет. Значение по умолчанию: -1. Допустимые значения: 1,[0,2311]-1, [0, 2^{31}-1].
  • QUEUE_SIZE (Int32) — опциональное поле, определяющее размер очереди ожидания. Всего в системе может находиться не более чем CONCURRENT_QUERY_LIMIT+QUEUE_SIZECONCURRENT\_QUERY\_LIMIT + QUEUE\_SIZE запросов одновременно. Если значение -1, ограничений нет. Значение по умолчанию: -1. Допустимые значения: 1,[0,2311]-1, [0, 2^{31}-1].
  • DATABASE_LOAD_CPU_THRESHOLD (Int32) — опциональное поле, задающее порог загрузки CPU всей базы данных, после которого запросы не отправляются на выполнение и остаются в очереди. Если значение -1, ограничений нет. Значение по умолчанию: -1. Допустимые значения: 1,[0,100]-1, [0, 100].
  • TOTAL_MEMORY_LIMIT_PERCENT_PER_NODE (Double) — опциональное поле, определяющее процент доступной памяти на узле, которую могут использовать все запросы в данном пуле ресурсов. Если значение -1, ограничений нет. Значение по умолчанию: -1. Допустимые значения: 1,[0,100]-1, [0, 100].
    Если лимит задан и суммарное потребление памяти запросами в пуле достигает этого лимита:
    • Новые запросы, которым требуется память, завершатся с ошибкой OVERLOADED.
    • Уже выполняющиеся запросы, которым потребуется дополнительная память, также завершатся с ошибкой OVERLOADED.
  • TOTAL_CPU_LIMIT_PERCENT_PER_NODE (Double) — опциональное поле, задающее процент доступного CPU, который могут использовать все запросы на узле в данном пуле ресурсов. Если значение -1, ограничений нет. Значение по умолчанию: -1. Допустимые значения: 1,[0,100]-1, [0, 100].
  • QUERY_CPU_LIMIT_PERCENT_PER_NODE (Double) — опциональное поле, определяющее процент доступного CPU на узле для одного запроса в пуле ресурсов. Если значение -1, ограничений нет. Значение по умолчанию: -1. Допустимые значения: 1,[0,100]-1, [0, 100].
  • RESOURCE_WEIGHT (Int32) — опциональное поле, задающее веса для распределения ресурсов между пулами. Если значение -1, веса не используются. Значение по умолчанию: -1. Допустимые значения: 1,[0,2311]-1, [0, 2^{31}-1].

Важно

Параметр QUERY_MEMORY_LIMIT_PERCENT_PER_NODE в настоящее время не поддерживается. Для ограничения объёма памяти, выделяемой пулу ресурсов, используйте параметр TOTAL_MEMORY_LIMIT_PERCENT_PER_NODE.

См. также

Предыдущая