STV_QUERY_METRICS - Amazon Redshift

STV_QUERY_METRICS

사용자 정의 쿼리 대기열(서비스 클래스)에서 실행 중인 활성 쿼리의 지표 정보(처리된 행의 수, CPU 사용량, 입/출력, 디스크 사용량)가 저장됩니다. 완료된 쿼리의 지표를 보려면 STL_QUERY_METRICS 시스템 테이블을 참조하십시오.

쿼리 지표는 1초 간격으로 샘플링됩니다. 결과적으로 동일한 쿼리라고 해도 다르게 실행하면 약간 다른 시간을 반환할 수 있습니다. 또한 1초 이내에 실행되는 쿼리 세그먼트는 기록되지 않을 수도 있습니다.

STV_QUERY_METRICS은 지표를 쿼리, 세그먼트 및 단계 수준으로 추적 및 집계합니다. 쿼리 세그먼트 및 단계에 대한 자세한 내용은 쿼리 계획 및 실행 워크플로우 섹션을 참조하세요. 노드 조각에서 합산되는 지표도 max_rows, cpu_time 등 매우 많습니다. 노드 조각에 대한 자세한 내용은 데이터 웨어하우스 시스템 아키텍처 섹션을 참조하세요.

행이 지표를 보고하는 수준을 확인하고 싶으면 다음과 같이 segment 열과 step_type 열을 살펴보십시오.

  • segment 열과 step_type 열의 값이 모두 -1이면 행이 쿼리 수준에서 지표를 보고합니다.

  • segment 열이 -1이 아니고, step_type 열이 -1이면 행이 세그먼트 수준에서 지표를 보고합니다.

  • segment 열과 step_type 열의 값이 모두 -1이 아니면 행이 단계 수준에서 지표를 보고합니다.

STV_QUERY_METRICS는 모든 사용자에게 표시됩니다. 수퍼유저는 모든 행을 볼 수 있지만 일반 사용자는 자체 데이터만 볼 수 있습니다. 자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.

이 테이블의 데이터 중 일부 또는 전부는 SYS 모니터링 뷰인 SYS_QUERY_DETAIL에서도 찾아볼 수 있습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다. 쿼리에 SYS 모니터링 뷰를 사용하는 것이 좋습니다.

테이블 열

열 명칭 데이터 유형 설명
userid 정수 항목을 생성한 쿼리를 실행한 사용자의 ID.
service_class 정수 WLM 쿼리 대기열(서비스 클래스)의 ID. 쿼리 대기열은 WLM 구성에서 정의합니다. 지표는 사용자 정의 대기열에 대해서만 보고됩니다.
쿼리 정수 쿼리 ID. 쿼리 열을 사용하여 다른 시스템 테이블 및 보기를 조인할 수 있습니다.
starttime 타임스탬프 쿼리 실행이 시작된 UTC 시간으로 소수 초의 정밀도는 6자리입니다. 예: 2009-06-12 11:29:19.131358.
슬라이스 정수 클러스터의 조각 수
segment 정수 세그먼트 번호. 하나의 쿼리는 여러 세그먼트로 구성되며, 각각의 세그먼트는 하나 이상의 단계로 구성됩니다. 쿼리 세그먼트는 병렬로 실행될 수 있습니다. 각 세그먼트는 단일 프로세스에서 실행됩니다. 세그먼트 값이 -1인 경우, 지표 세그먼트 값은 쿼리 수준으로 롤업됩니다.
step_type 정수 실행된 단계의 유형입니다. 단계 유형에 대한 자세한 내용은 단계 유형 섹션을 참조하세요.
rows bigint 단계에서 처리된 행의 수
max_rows bigint 모든 조각을 집계하여 단계에서 출력된 행의 최대 수
cpu_time bigint 사용된 CPU 시간(마이크로초). 세그먼트 수준일 때는 모든 조각을 통틀어 세그먼트에서 사용된 총 CPU 시간입니다. 쿼리 수준일 때는 모든 조각과 세그먼트를 통틀어 쿼리에서 사용된 CPU 시간의 합산입니다.
max_cpu_time bigint 사용된 최대 CPU 시간(마이크로초). 세그먼트 수준일 때는 모든 조각을 통틀어 세그먼트에서 사용된 최대 CPU 시간입니다. 쿼리 수준일 때는 모든 쿼리 세그먼트에서 사용된 최대 CPU 시간입니다.
blocks_read bigint 쿼리 또는 세그먼트에서 읽은 1MB 블록의 수
max_blocks_read bigint 모든 조각을 집계하여 세그먼트에서 읽은 1MB 블록의 최대 수. 세그먼트 수준일 때는 모든 조각을 통틀어 세그먼트에서 읽은 1MB 블록의 최대 수입니다. 쿼리 수준일 때는 모든 쿼리 세그먼트에서 읽은 1MB 블록의 최대 수입니다.
run_time bigint

조각마다 합산한 총 실행 시간. 실행 시간에는 대기 시간이 포함되지 않습니다.

세그먼트 수준일 때는 모든 조각을 통틀어 합산된 세그먼트 실행 시간입니다. 쿼리 수준일 때는 모든 조각과 세그먼트를 통틀어 합산된 쿼리 실행 시간입니다. 이 값은 합산된 것이기 때문에 실행 시간과 쿼리 실행 시간은 관련이 없습니다.

max_run_time bigint 세그먼트의 최대 경과 시간(마이크로초). 세그먼트 수준일 때는 모든 조각에서 세그먼트의 최대 실행 시간입니다. 쿼리 수준일 때는 모든 쿼리 세그먼트의 최대 실행 시간입니다.
max_blocks_to_disk bigint 중간 결과를 작성하는 데 사용한 디스크 공간의 최대 크기(1MB 블록). 세그먼트 수준일 때는 모든 조각을 통틀어 세그먼트에서 사용된 디스크 공간의 최대 크기입니다. 쿼리 수준일 때는 모든 쿼리 세그먼트에서 사용된 디스크 공간의 최대 크기입니다.
blocks_to_disk bigint 쿼리 또는 세그먼트에서 중간 결과를 작성하는 데 사용한 디스크 공간 크기(1MB 블록)
step 정수 실행된 쿼리 단계입니다.
max_query_scan_size bigint 쿼리에서 스캔된 데이터의 최대 크기(MB). 세그먼트 수준일 때는 모든 조각을 통틀어 세그먼트에서 스캔된 데이터의 최대 크기입니다. 쿼리 수준일 때는 모든 쿼리 세그먼트에서 스캔된 데이터의 최대 크기입니다.
query_scan_size bigint 쿼리에서 스캔된 데이터의 크기(MB).
query_priority 정수 쿼리의 우선순위입니다. 가능한 값은 -1, 0, 1, 2, 34입니다. 여기에서 -1은 쿼리 우선 순위가 지원되지 않음을 뜻합니다.
query_queue_time bigint 쿼리가 대기열에 있는 시간(마이크로초)입니다.

단계 유형

다음 표는 데이터베이스 사용자와 관련된 단계 유형을 나열한 것입니다. 내부 전용 단계 유형은 표에서 제외되었습니다. 단계 유형이 -1이면 단계 수준에서는 지표가 보고되지 않습니다.

단계 유형 설명
1 테이블 스캔
2 행 삽입
3 행 집계
6 정렬 단계
7 병합 단계
8 분산 단계
9 브로드캐스팅 분산 단계
10 해시 조인
11 병합 조인
12 저장 단계
14 해시
15 중첩 루프 조인
16 프로젝트 필드 및 표현식
17 반환되는 행의 수 제한
18 고유
20 행 삭제
26 반환되는 정렬 행의 수 제한
29 창 함수 계산
32 UDF
33 고유
37 행을 리더 노드에서 클라이언트로 반환
38 행을 컴퓨팅 노드에서 리더 노드로 반환
40 스펙트럼 스캔

샘플 쿼리

CPU 시간이 높은(1,000초 이상) 활성 쿼리를 찾으려면 다음과 같이 쿼리를 실행합니다.

select query, cpu_time / 1000000 as cpu_seconds from stv_query_metrics where segment = -1 and cpu_time > 1000000000 order by cpu_time; query | cpu_seconds ------+------------ 25775 | 9540

중첩 루프 조인을 사용하여 반환된 행의 수가 100만 개가 넘는 활성 쿼리를 찾으려면 다음과 같이 쿼리를 실행합니다.

select query, rows from stv_query_metrics where step_type = 15 and rows > 1000000 order by rows; query | rows ------+----------- 25775 | 1580225854

실행 시간이 60초보다 크고, CPU 시간이 10초 미만인 활성 쿼리를 찾으려면 다음과 같이 쿼리를 실행하십시오.

select query, run_time/1000000 as run_time_seconds from stv_query_metrics where segment = -1 and run_time > 60000000 and cpu_time < 10000000; query | run_time_seconds ------+----------------- 25775 | 114