Политика емкости

Политика емкости используется для управления вычислительными ресурсами операций управления данными в кластере.

Объект политики емкости

Политика емкости состоит из следующих компонентов:

Чтобы просмотреть емкость кластера, используйте команду .show capacity .

Емкость приема

Свойство Тип Описание
ClusterMaximumConcurrentOperations long Максимальное число одновременных операций приема, разрешенное в кластере. Это значение задает ограничение для общей емкости приема, как показано в следующей формуле.
CoreUtilizationCoefficient real Определяет процент ядер, используемых при вычислении емкости приема.

Формула

Команда .show capacity возвращает емкость приема кластера на основе следующей формулы:

Minimum(ClusterMaximumConcurrentOperations,Количество узлов в кластере*Maximum(1,Число ядер на узел*CoreUtilizationCoefficient))

Примечание

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

Емкость слияния экстентов

Свойство Тип Описание
MinimumConcurrentOperationsPerNode long Минимальное количество параллельных операций слияния и перестроения экстентов на одном узле. По умолчанию — 1.
MaximumConcurrentOperationsPerNode long Максимальное количество одновременных операций слияния и перестроения экстентов на одном узле. По умолчанию — 5.

Формула

Команда .show capacity возвращает емкость слияния экстентов кластера на основе следующей формулы:

Количество узлов в кластере*Одновременные операции на узел

Эффективное значение для параллельных операций на узел автоматически корректируется системой в диапазоне [MinimumConcurrentOperationsPerNode,MaximumConcurrentOperationsPerNode], если показатель успешности операций слияния составляет 90 % или выше.

Примечание

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

Очистка емкости перестроения экстентов

Свойство Тип Описание
MaximumConcurrentOperationsPerNode long Максимальное количество одновременных экстентов перестроения для операций очистки на одном узле.

Формула

Команда .show capacity возвращает экстенты кластера для очистки емкости перестроения на основе следующей формулы:

Число узлов в кластере x MaximumConcurrentOperationsPerNode

Примечание

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

Экспорт емкости

Свойство Тип Описание
ClusterMaximumConcurrentOperations long Максимальное количество одновременных операций экспорта в кластере. Это значение окупает общую емкость экспорта, как показано в следующей формуле.
CoreUtilizationCoefficient long Определяет процент ядер, используемых при расчете емкости экспорта.

Формула

Команда .show capacity возвращает экспортную емкость кластера на основе следующей формулы:

Minimum(ClusterMaximumConcurrentOperations,Количество узлов в кластере*Maximum(1,Число ядер на узел*CoreUtilizationCoefficient))

Примечание

В кластерах с четырьмя или более узлами администратор не участвует в операциях экспорта. Уменьшается Number of nodes in cluster на один.

Емкость секции экстентов

Свойство Тип Описание
ClusterMinimumConcurrentOperations long Минимальное количество параллельных операций секционирования экстентов в кластере. По умолчанию — 1.
ClusterMaximumConcurrentOperations long Максимальное количество параллельных операций секционирования экстентов в кластере. По умолчанию — 32.

Эффективное значение для параллельных операций автоматически корректируется системой в диапазоне [ClusterMinimumConcurrentOperations,ClusterMaximumConcurrentOperations], если частота успешного выполнения операций секционирования составляет 90 % или выше.

Политика емкости материализованных представлений

Политику можно использовать для изменения параметров параллелизма для материализованных представлений. Изменение политики емкости материализованных представлений может быть полезно, если в кластере определено несколько материализованных представлений.

Свойство Тип Описание
ClusterMinimumConcurrentOperations long Минимальное количество параллельных операций материализации в кластере. По умолчанию — 1.
ClusterMaximumConcurrentOperations long Максимальное количество одновременных операций материализации в кластере. По умолчанию — 10.

Действующее значение для параллельных операций автоматически корректируется системой в диапазоне [ClusterMinimumConcurrentOperations,ClusterMaximumConcurrentOperations] в зависимости от количества материализованных представлений в кластере и ЦП кластера.

Предупреждение

Увеличивайте, ClusterMinimumConcurrentOperations только если кластер имеет достаточно ресурсов (низкая загрузка ЦП и доступная память). Повышение этих значений в условиях ограничений ресурсов может привести к исчерпанию ресурсов и значительно снизить производительность кластера.

Емкость хранимых результатов запроса

Свойство Тип Описание
MaximumConcurrentOperationsPerDbAdmin long Максимальное количество одновременных операций приема в узле администрирования кластера.
CoreUtilizationCoefficient real Определяет процент ядер, используемых при вычислении сохраненных результатов создания запросов.

Формула

Команда .show capacity возвращает емкость для создания сохраненных результатов запроса кластера на основе следующей формулы:

Количество узлов в кластере*Maximum(1,Число ядер на узел*CoreUtilizationCoefficient)

Примечание

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

Умолчания;

Политика емкости по умолчанию имеет следующее представление JSON:

{
  "IngestionCapacity": {
    "ClusterMaximumConcurrentOperations": 512,
    "CoreUtilizationCoefficient": 0.75
  },
  "ExtentsMergeCapacity": {
    "MinimumConcurrentOperationsPerNode": 1,
    "MaximumConcurrentOperationsPerNode": 3
  },
  "ExtentsPurgeRebuildCapacity": {
    "MaximumConcurrentOperationsPerNode": 1
  },
  "ExportCapacity": {
    "ClusterMaximumConcurrentOperations": 100,
    "CoreUtilizationCoefficient": 0.25
  },
  "ExtentsPartitionCapacity": {
    "ClusterMinimumConcurrentOperations": 1,
    "ClusterMaximumConcurrentOperations": 32
  },
  "MaterializedViewsCapacity": {
    "ClusterMaximumConcurrentOperations": 1,
    "ExtentsRebuildCapacity": {
      "ClusterMaximumConcurrentOperations": 50,
      "MaximumConcurrentOperationsPerNode": 5
    }
  },
  "StoredQueryResultsCapacity": {
    "MaximumConcurrentOperationsPerDbAdmin": 250,
    "CoreUtilizationCoefficient": 0.75
  }
}

Команды управления

Предупреждение

Перед изменением политики емкости обратитесь в службу поддержки.

Регулирование команд управления

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

Когда кластер обнаруживает, что операция превысила ограничение на параллельные запросы:

  • Состояние команды, представленное командой System Information, будет иметь значение Throttled.
  • Сообщение об ошибке будет включать тип команды, источник регулирования и превышенную емкость . Пример:
    • Например: The management command was aborted due to throttling. Retrying after some backoff might succeed. CommandType: 'TableSetOrAppend', Capacity: 18, Origin: 'CapacityPolicy/Ingestion'.
  • Код ответа HTTP будет иметь значение 429. SubCode (дополнительный код) будет TooManyRequests.
  • Тип исключения будет ControlCommandThrottledException.

Примечание

Команды управления также могут регулироваться в результате превышения ограничения, определенного политикой ограничения скорости запросов группы рабочей нагрузки.