Перейти к основному содержимому
Перейти к основному содержимому

system.scheduler

Выполнение запросов в ClickHouse Cloud

Данные в этой системной таблице хранятся локально на каждом узле в ClickHouse Cloud. Поэтому для получения полного обзора всех данных требуется функция clusterAllReplicas. Подробности см. здесь.

Описание

Содержит сведения об узлах планировщика на локальном сервере и их состоянии. Эту таблицу можно использовать для мониторинга. Таблица содержит по одной строке на каждый узел планировщика.

Столбцы

  • resource (String) — Имя ресурса
  • path (String) — Путь к узлу планировщика в иерархии планирования этого ресурса
  • type (String) — Тип узла планировщика.
  • weight (Float64) — Вес узла, используемый родительским узлом типа fair.
  • priority (Int64) — Приоритет узла, используемый родительским узлом типа priority (меньшее значение означает более высокий приоритет).
  • is_active (UInt8) — Активен ли этот узел в данный момент — есть ли у него запросы на ресурсы для извлечения из очереди и удовлетворены ли ограничения.
  • active_children (UInt64) — Количество дочерних узлов в активном состоянии.
  • dequeued_requests (UInt64) — Общее количество запросов на ресурсы, извлеченных из очереди этого узла.
  • canceled_requests (UInt64) — Общее количество запросов на ресурсы, отмененных в этом узле.
  • dequeued_cost (Int64) — Сумма стоимостей (например, размер в байтах) всех запросов, извлеченных из очереди этого узла.
  • throughput (Float64) — Текущая средняя пропускная способность (стоимость извлеченных из очереди запросов в секунду).
  • canceled_cost (Int64) — Сумма стоимостей (например, размер в байтах) всех запросов, отмененных в этом узле.
  • busy_periods (UInt64) — Общее количество деактиваций этого узла.
  • vruntime (Nullable(Float64)) — Только для дочерних узлов fair. Виртуальное время выполнения узла, используемое алгоритмом SFQ для выбора следующего дочернего узла для обработки по принципу max-min fairness.
  • system_vruntime (Nullable(Float64)) — Только для узлов fair. Виртуальное время выполнения, показывающее vruntime последнего обработанного запроса на ресурс. Используется при активации дочернего узла как новое значение vruntime.
  • queue_length (Nullable(UInt64)) — Только для узлов fifo. Текущее количество запросов на ресурсы в очереди.
  • queue_cost (Nullable(Int64)) — Только для узлов fifo. Сумма стоимостей (например, размер в байтах) всех запросов, находящихся в очереди.
  • budget (Nullable(Int64)) — Только для узлов fifo. Количество доступных «единиц стоимости» для новых запросов на ресурсы. Может появляться в случае расхождения между оценочной и фактической стоимостью запросов на ресурсы (например, после сбоя чтения/записи)
  • is_satisfied (Nullable(UInt8)) — Только для узлов ограничений (например, inflight_limit). Равно 1, если все ограничения этого узла соблюдены.
  • inflight_requests (Nullable(Int64)) — Только для узлов inflight_limit. Количество запросов на ресурсы, извлеченных из очереди этого узла и находящихся в данный момент в состоянии потребления.
  • inflight_cost (Nullable(Int64)) — Только для узлов inflight_limit. Сумма стоимостей (например, в байтах) всех запросов на ресурсы, извлеченных из очереди этого узла и находящихся в данный момент в состоянии потребления.
  • max_requests (Nullable(Int64)) — Только для узлов inflight_limit. Верхний предел для inflight_requests, приводящий к нарушению ограничения.
  • max_cost (Nullable(Int64)) — Только для узлов inflight_limit. Верхний предел для inflight_cost, приводящий к нарушению ограничения.
  • max_speed (Nullable(Float64)) — Только для узлов bandwidth_limit. Верхний предел пропускной способности в токенах в секунду.
  • max_burst (Nullable(Float64)) — Только для узлов bandwidth_limit. Верхний предел числа токенов, доступных в token-bucket throttler.
  • throttling_us (Nullable(Int64)) — Только для узлов bandwidth_limit. Общее количество микросекунд, в течение которых этот узел находился в состоянии throttling.
  • tokens (Nullable(Float64)) — Только для узлов bandwidth_limit. Количество токенов, доступных в данный момент в token-bucket throttler.

Пример:

SELECT *
FROM system.scheduler
WHERE resource = 'network_read' AND path = '/prio/fair/prod'
FORMAT Vertical
Row 1:
──────
resource:          network_read
path:              /prio/fair/prod
type:              fifo
weight:            5
priority:          0
is_active:         0
active_children:   0
dequeued_requests: 67
canceled_requests: 0
dequeued_cost:     4692272
canceled_cost:     0
busy_periods:      63
vruntime:          938454.1999999989
system_vruntime:   ᴺᵁᴸᴸ
queue_length:      0
queue_cost:        0
budget:            -60524
is_satisfied:      ᴺᵁᴸᴸ
inflight_requests: ᴺᵁᴸᴸ
inflight_cost:     ᴺᵁᴸᴸ
max_requests:      ᴺᵁᴸᴸ
max_cost:          ᴺᵁᴸᴸ
max_speed:         ᴺᵁᴸᴸ
max_burst:         ᴺᵁᴸᴸ
throttling_us:     ᴺᵁᴸᴸ
tokens:            ᴺᵁᴸᴸ