본문으로 바로가기
본문으로 바로가기

system.scheduler

ClickHouse Cloud에서 쿼리하기

이 시스템 테이블의 데이터는 ClickHouse Cloud의 각 노드에 로컬로 저장됩니다. 따라서 전체 데이터를 조회하려면 clusterAllReplicas 함수를 사용해야 합니다. 자세한 내용은 여기를 참고하십시오.

로컬 서버에 존재하는 scheduling node에 대한 정보와 상태를 제공합니다. 이 테이블은 모니터링용으로 사용할 수 있습니다. 테이블에는 각 scheduling node마다 1개의 행이 포함됩니다.

예:

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) — 이 노드가 현재 활성 상태인지, 즉 디큐(dequeue) 대기 중인 리소스 요청이 있고 제약 조건이 충족되었는지를 나타냅니다.
  • active_children (UInt64) — 활성 상태인 자식 수입니다.
  • dequeued_requests (UInt64) — 이 노드에서 큐에서 제거(dequeue)된 리소스 요청의 총 개수입니다.
  • canceled_requests (UInt64) — 이 노드에서 취소된 리소스 요청의 총 횟수입니다.
  • dequeued_cost (Int64) — 이 노드에서 큐에서 제거(dequeue)된 모든 요청의 비용(예: 바이트 단위 크기)의 합입니다.
  • throughput (Float64) — 현재 평균 처리량(초당 디큐되는 비용).
  • canceled_cost (Int64) — 이 노드에서 취소된 모든 요청의 비용(예: 바이트 단위 크기)의 총합입니다.
  • busy_periods (UInt64) — 이 노드가 비활성화된 총 횟수입니다.
  • vruntime (Nullable(Float64)) — fair 노드의 자식 노드에만 해당합니다. SFQ 알고리즘이 max-min 공정 방식으로 다음에 처리할 자식 노드를 선택할 때 사용하는 노드의 가상 실행 시간입니다.
  • system_vruntime (널 허용(Float64)) — fair 노드에서만 사용됩니다. 마지막으로 처리된 리소스 요청의 vruntime 값을 나타내는 가상 런타임입니다. 자식이 활성화될 때 vruntime의 새 값으로 사용됩니다.
  • queue_length (널 허용(UInt64)) — fifo 노드에만 해당합니다. 현재 대기열에 있는 리소스 요청 수입니다.
  • queue_cost (널 허용(Int64)) — FIFO 노드에만 해당합니다. 대기열에 있는 모든 요청의 비용(예: 바이트 단위 크기)을 합산한 값입니다.
  • budget (널 허용(Int64)) — fifo 노드에만 사용됩니다. 새로운 리소스 요청에 사용할 수 있는 'cost units'의 개수입니다. 리소스 요청의 추정 비용과 실제 비용이 실제 비용과 차이가 발생하는 경우(예: 읽기/쓰기 실패 이후)에 나타날 수 있습니다.
  • is_satisfied (Nullable(UInt8)) — 제약 조건 노드(예: inflight_limit)에서만 사용됩니다. 이 노드의 모든 제약 조건이 충족되면 1입니다.
  • inflight_requests (Nullable(Int64)) — inflight_limit 노드에만 해당합니다. 이 노드에서 디큐된 리소스 요청 중 현재 소비 상태에 있는 요청의 개수입니다.
  • inflight_cost (널 허용(Nullable)(Int64)) — inflight_limit 노드에만 적용됩니다. 현재 소비 상태에 있는, 이 노드에서 디큐(dequeue)된 모든 리소스 요청의 비용(예: 바이트)의 합계입니다.
  • max_requests (Nullable(Int64)) — inflight_limit 노드에만 해당합니다. inflight_requests의 상한 값으로, 이를 초과하면 제약 조건 위반이 발생합니다.
  • max_cost (Nullable(Int64)) — inflight_limit 노드에만 사용합니다. CONSTRAINT 위반을 발생시키는 inflight_cost의 상한입니다.
  • max_speed (널 허용(Float64)) — bandwidth_limit 노드에만 적용됩니다. 초당 토큰 수로 표현되는 대역폭의 상한값입니다.
  • max_burst (Nullable(Float64)) — bandwidth_limit 노드에만 해당합니다. 토큰 버킷 스로틀러에서 사용 가능한 토큰 수의 상한값입니다.
  • throttling_us (널 허용(Int64)) — bandwidth_limit 노드에만 해당합니다. 이 노드가 throttling 상태였던 총 마이크로초 수입니다.
  • tokens (Nullable(Float64)) — bandwidth_limit 노드에만 적용됩니다. token-bucket throttler에서 현재 사용 가능한 토큰 수입니다.