跳到主要内容
跳到主要内容

system.scheduler

在 ClickHouse Cloud 中进行查询

该系统表中的数据保存在 ClickHouse Cloud 中每个节点的本地。因此,如需获得所有数据的完整视图,需要使用 clusterAllReplicas 函数。更多详情请参阅此处

包含位于本地服务器上的调度节点的信息和状态。 此表可用于监控。表中每个调度节点对应一行记录。

示例:

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:            ᴺᵁᴸᴸ

列:

  • 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 算法使用的节点虚拟运行时间,用于以最大-最小公平方式选择下一个待处理的子节点。
  • 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 节点。令牌桶限流机制中可用令牌数量的上限。
  • throttling_us (Nullable(Int64)) — 仅用于 bandwidth_limit 节点。该节点处于限流状态的总时长(微秒)。
  • tokens (Nullable(Float64)) — 仅适用于 bandwidth_limit 节点。当前在令牌桶限流器中可用的令牌数量。