성능 탐색기로 쿼리 워크로드 분석¶
|sf-web-interface|에서 성능 탐색기를 사용하여 SQL 워크로드에 대한 대화형 메트릭을 모니터링할 수 있습니다. 메트릭은 Snowflake 환경의 전반적인 상태, 쿼리 활동, 웨어하우스 변경 사항, 테이블 변경 사항을 보여줍니다.
성능 탐색기의 이점¶
성능 탐색기는 Snowflake 활동에 대한 다음과 같은 주요 질문에 답하는 데 도움이 될 수 있습니다.
전반적인 활동: 쿼리가 일반적으로 성공적으로 진행되고 있으며 Snowflake 사용자가 작업을 완료할 수 있습니까?
시간 경과에 따른 변화: 쿼리 활동 또는 리소스가 예상과는 다르게 보일 경우, 언제 무엇이 변경되었습니까?
핫스팟: 조치를 취할 기회를 모색하는 경우 어디에 집중해야 합니까?
성능 탐색기의 일반적인 사용 사례¶
성능 탐색기는 다음 사용 사례에 도움이 될 수 있습니다.
쿼리 또는 워크로드에 대한 문제 보고서 조사: Snowflake 워크로드가 다르게 동작하기 시작한 경우 워크로드가 의존하는 리소스 또는 인접 워크로드 활동과 같이 최근에 변경되었을 수 있는 다른 사항을 확인합니다.
핫스팟을 사전에 식별: 웨어하우스나 테이블에 지속적인 오류나 포화 상태가 나타나는 경우 중요한 워크로드에 영향을 미치기 전에 핫스팟을 식별하고 해결합니다.
최적화 기회 식별: 지원되는 쿼리 활동과 일치하지 않을 수 있는 웨어하우스 및 테이블을 찾고 워크로드와 리소스를 조정하여 호환되도록 합니다.
필수 권한¶
:ref:`ACCOUNTADMIN 역할<label-access_control_overview_roles_system>`이 부여된 사용자는 성능 탐색기에 액세스할 수 있습니다.
ACCOUNTADMIN 역할이 부여되지 않은 사용자는 성능 탐색기에 액세스하려면 다음 역할을 받아야 합니다.
APP_USAGE_VIEWER 애플리케이션 역할
USAGE_VIEWER 데이터베이스 역할
예를 들어, 사용자 ``joe``가 성능 탐색기에 액세스할 수 있도록 하려면 다음 명령을 실행하세요.
USE ROLE ACCOUNTADMIN;
CREATE ROLE pe_viewer_role;
GRANT APPLICATION ROLE SNOWFLAKE.APP_USAGE_VIEWER TO ROLE pe_viewer_role;
GRANT DATABASE ROLE SNOWFLAKE.USAGE_VIEWER TO ROLE pe_viewer_role;
GRANT ROLE pe_viewer_role TO USER joe;
참고
The USAGE_VIEWER database role provides visibility into historical usage data, which can be used for cost management. For more information, see SNOWFLAKE 데이터베이스 역할.
성능 탐색기 열기¶
성능 탐색기를 열려면 다음 단계를 완료하세요.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Monitoring » Performance Explorer 를 선택합니다.
성능 탐색기에는 워크로드 및 Snowflake 환경의 일반적인 상태와 관련된 메트릭을 보여주는 차트가 포함되어 있습니다.
성능 탐색기 대시보드 이해¶
성능 탐색기 대시보드에서 차트를 사용하여 SQL 워크로드에 대한 대화형 메트릭을 모니터링하고 필터를 적용하여 관심 있는 쿼리 활동과 리소스에 대한 메트릭만 표시할 수 있습니다.
성능 탐색기 필터¶
성능 탐색기 대시보드 상단에서 다음 필터를 적용할 수 있습니다.
Period - 지난주, 지난 2주 또는 사용자 지정 범위와 같은 기간을 선택합니다. 대시보드에는 지정된 기간에 대한 메트릭이 표시됩니다.
성능 탐색기는 기본적으로 일주일 동안의 메트릭을 표시합니다. 현재 날짜를 기준으로 최대 1개월의 기간을 지원합니다.
일부 성능 탐색기 차트는 이전 기간과 비교한 변화율을 보여줍니다. 이전 기간의 범위는 현재 기간 범위에 해당합니다. 예를 들어, 현재 기간이 2주인 경우 이전 기간은 현재 기간이 시작되기 2주 전입니다.
Warehouse - 웨어하우스를 선택하여 해당 웨어하우스로 실행된 쿼리 활동에 대한 메트릭만 볼 수 있습니다. 목록의 웨어하우스를 제한하려면 검색 필드를 사용하세요. 필터를 지우려면 ``X``를 선택합니다.
Database - 데이터베이스를 선택하여 해당 데이터베이스에 액세스한 쿼리 활동에 대한 메트릭만 볼 수 있습니다. 목록의 데이터베이스를 제한하려면 검색 필드를 사용하세요. 필터를 지우려면 ``X``를 선택합니다.
Role - 역할을 선택하여 해당 역할이 시작한 쿼리 활동에 대한 메트릭만 볼 수 있습니다. 목록의 역할을 제한하려면 검색 필드를 사용하세요. 필터를 지우려면 ``X``를 선택합니다.
성능 탐색기 차트¶
성능 탐색기는 다양한 유형의 차트에 메트릭을 표시합니다. 각 유형의 차트에 포함된 구성 요소와 이를 해석하는 방법을 이해하는 것이 중요합니다.
쿼리 상태 및 쿼리 활동 섹션에는 다음 이미지와 유사한 꺾은선형 차트가 있습니다.
다음 테이블은 이미지에 나와 있는 설명선의 내용을 설명합니다.
설명선 |
설명 |
|---|---|
1 |
:ui:`>`를 선택하여 측면 패널을 엽니다. |
2 |
기간의 평균 또는 중앙값을 표시합니다. |
3 |
이전 기간과 비교하여 증가하거나 감소한 백분율을 표시합니다. |
4 |
1시간 동안의 값을 나타냅니다. 값은 간격이 시작될 때 일정 시간 동안 표시됩니다. 예를 들어, 간격이 1시간인 경우 9 AM에 표시된 값은 9 AM~ 10 AM 간격 동안 표시됩니다. |
일부 차트에는 큰 평균 또는 중앙값과 해당 기간의 변화율이 포함됩니다. 둘 이상의 선이 있는 경우 선에 대한 키가 차트 위에 표시됩니다.
일부 차트에는 제목 옆에 :ui:`information icon`이 표시됩니다. 차트의 메트릭에 대한 정보를 보려면 아이콘을 마우스로 가리키세요.
꺾은선형 차트의 한 지점을 마우스로 가리키면 특정 시간 동안 해당 값을 볼 수 있습니다.
상위 웨어하우스 및 상위 테이블 섹션에는 다음 이미지와 유사한 막대형 차트가 있습니다.
다음 테이블은 이미지에 나와 있는 설명선의 내용을 설명합니다.
설명선 |
설명 |
|---|---|
1 |
:ui:`>`를 선택하여 측면 패널을 엽니다. |
2 |
탭을 선택하여 탭에 메트릭을 표시합니다. |
3 |
현재 기간 동안 이 메트릭의 값을 표시합니다. |
4 |
이전 기간과 비교하여 증가하거나 감소한 백분율을 표시합니다. |
5 |
비교할 이전 기간의 데이터가 없음을 나타냅니다. |
꺾은선형 차트와 막대형 차트 모두에서 :ui:`>`를 선택하여 차트의 메트릭에 대한 자세한 정보를 표시하는 측면 패널을 엽니다. 자세한 정보는 차트에 표시된 메트릭에 따라 다릅니다. 대부분의 측면 패널에는 해당 기간의 특정 웨어하우스, 역할, 데이터베이스에 대한 메트릭을 보는 데 사용할 수 있는 정렬 가능한 테이블이 표시됩니다. 다음 이미지는 측면 패널의 예를 보여줍니다.
상위 웨어하우스 및 상위 테이블 섹션에는 다음 이미지와 유사한 이벤트 차트도 있습니다.
이벤트 차트는 오브젝트 유형에 대해 정렬 가능한 이벤트 테이블을 보여줍니다. 데이터에 예기치 않은 이벤트가 있는지 검사할 수 있습니다. 웨어하우스 이벤트에 대한 자세한 내용은 WAREHOUSE_EVENTS_HISTORY 뷰 섹션을 참조하세요. 테이블 이벤트에 대한 자세한 내용은 TABLES 뷰 섹션을 참조하세요.
쿼리 상태 모니터링¶
성능 탐색기의 이 섹션에는 Snowflake 환경의 전반적인 상태에 대한 메트릭이 포함되어 있습니다. 이러한 메트릭을 모니터링하여 사용자가 쿼리를 성공적으로 실행하고 필요한 작업을 완료할 수 있는지 확인할 수 있습니다.
이 섹션에는 다음 메트릭이 포함되어 있습니다.
메트릭 |
단위 |
설명 |
참고 |
자세한 정보 |
|---|---|---|---|---|
Query failures/1K |
1,000개당 실패 수 |
다음 메트릭을 포함하여 실행된 쿼리 1,000개당 실패한 쿼리 수:
|
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 실패하면 쿼리 기록과 오류를 검토한 다음, 쿼리를 수정하여 문제를 해결합니다. |
|
Query retries/1K |
1,000개당 재시도 횟수 |
다음 메트릭을 포함하여 실행된 쿼리 1,000개당 재시도한 쿼리 수:
|
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 재시도 중인 경우 원인을 검토한 다음, 쿼리 재시도를 방지하기 위한 조치를 취하세요. 예를 들어 메모리 부족 오류로 인해 쿼리를 다시 시도하는 경우 웨어하우스 설정을 수정하면 문제가 해결될 수 있습니다. |
|
Query overload % |
백분율 |
다음 메트릭을 포함하여, 쿼리가 웨어하우스 리소스를 위해 큐에서 대기한 총 실행 시간의 백분율입니다.
|
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 실행되기 전에 대기 중인 경우 웨어하우스 리소스가 소진되어 리소스를 사용할 수 있을 때까지 쿼리가 큐에 대기할 수 있습니다. |
|
Query blocked % |
백분율 |
다음 메트릭을 포함하여, 쿼리가 리소스에 대한 트랜잭션 잠금을 기다리느라 차단되어 소요된 총 실행 시간의 백분율입니다.
|
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 차단되면 쿼리 기록과 오류를 검토한 다음, 쿼리를 수정하여 문제를 해결합니다. |
리소스 잠금 . . 트랜잭션 모범 사례 . . LOCK_WAIT_HISTORY 뷰 . . 쿼리 기록으로 쿼리 활동 모니터링하기 . . QUERY_HISTORY 뷰 |
쿼리 활동 모니터링¶
성능 탐색기의 이 섹션에는 특정 기간의 쿼리 활동에 대한 메트릭이 포함됩니다. 이러한 메트릭을 모니터링하여 리소스 사용 또는 사용자가 쿼리를 성공적으로 실행할 수 있는 기능에 영향을 줄 수 있는 쿼리 활동의 대규모 변경 사항을 추적할 수 있습니다.
이 섹션에는 다음 메트릭이 포함되어 있습니다.
메트릭 |
단위 |
설명 |
참고 |
자세한 정보 |
|---|---|---|---|---|
Query duration |
초 |
해당 기간 동안 시간대별로 쿼리를 완료하는 데 걸린 시간입니다. 이 꺾은선형 차트는 모든 쿼리의 중앙값 시간, 90번째 백분위수의 쿼리 시간, 99번째 백분위수의 쿼리 시간을 보여줍니다. |
이 메트릭은 데이터와 실행 중인 쿼리 유형에 따라 크게 달라집니다. 시간이 지남에 따라 지속 시간이 변경되는 쿼리는 조사 및 최적화 대상이 될 수 있습니다. |
실행 시간 탐색하기 . . 쿼리 성능 최적화 |
Query throughput |
쿼리 |
시간대별로 실행된 쿼리 수입니다. |
이 메트릭은 워크로드의 새로운 추세 또는 변경 사항을 나타낼 수 있는 쿼리 활동의 변경 사항을 보여줄 수 있습니다. |
|
Query wait time |
초 |
웨어하우스 리소스 또는 리소스 잠금으로 인해 쿼리가 대기한 시간입니다. 상태(Overload, Provisioning, Repair 및 Blocked)에 대한 자세한 내용은 QUERY_HISTORY 뷰 섹션을 참조하세요. |
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 실행되기 전에 대기 중인 경우 웨어하우스 리소스가 소진되어 리소스를 사용할 수 있을 때까지 쿼리가 큐에 대기할 수 있습니다. |
|
Query failures |
실패 |
해당 기간 동안 시간대별로 실패한 쿼리 수입니다. |
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 실패하면 쿼리 기록과 오류를 검토한 다음, 쿼리를 수정하여 문제를 해결합니다. |
상위 웨어하우스 모니터링¶
성능 탐색기의 이 섹션에는 해당 기간 동안 가장 많은 변경 사항이 발생한 Snowflake 환경의 웨어하우스에 대한 메트릭이 포함되어 있습니다. 이러한 메트릭을 모니터링하여 웨어하우스가 쿼리 활동을 지원하기 위해 예상대로 작동하는지 확인할 수 있습니다. 이러한 메트릭은 다른 웨어하우스와 비교할 때 비정상적인 쿼리 활동 추세와 연결된 웨어하우스가 있는지 여부도 표시할 수 있습니다. 웨어하우스가 실행하는 워크로드의 구성이 변경되었는지 여부도 확인할 수 있습니다.
이 섹션의 모든 메트릭은 메트릭 값과 마지막 기간 이후의 변화율을 보여줍니다. 변화율은 양수 또는 음수일 수 있으며, 양수 변경은 위쪽 화살표로, 음수 변경 사항은 아래쪽 화살표로 표시됩니다. 성능 탐색기는 메트릭별로 가장 많이 변경된 웨어하우스 10개를 보여줍니다. 더 많은 웨어하우스에 대한 메트릭을 보려면 차트에서 >`를 선택하여 측면 패널을 엽니다. 이 메트릭에 웨어하우스에 대한 마지막 기간 값이 없는 경우, 변화율 대신 :ui:—`이 표시됩니다. 새 웨어하우스이거나 측정되는 이벤트가 드물기 때문에 값이 없을 수 있습니다.
이 섹션에는 다음 메트릭이 포함되어 있습니다.
메트릭 |
탭 |
단위 |
설명 |
참고 |
자세한 정보 |
|---|---|---|---|---|---|
Warehouses with errors |
Query failures/1K |
1,000개당 실패 수 |
각 웨어하우스에 대해, 실행된 쿼리 1,000개당 실패한 쿼리 수입니다. |
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 실패하면 쿼리 기록과 오류를 검토한 다음, 쿼리를 수정하여 문제를 해결합니다. |
|
Query OOM errors/1K |
1,000개당 오류 |
각 웨어하우스에 대해, 실행된 쿼리 1,000개당 “메모리 부족” 오류를 반환한 쿼리 수입니다. |
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 “메모리 부족” 오류를 표시하며 실패하는 경우 쿼리 기록을 검토하여 웨어하우스에 대해 어떤 쿼리가 실패하는지 확인한 다음, 오류를 방지하기 위해 쿼리를 실행하는 웨어하우스를 수정합니다. |
쿼리 기록으로 쿼리 활동 모니터링하기 . . QUERY_HISTORY 뷰 . . 너무 커서 메모리에 적합하지 않은 쿼리 |
|
Query retries/1K |
1,000개당 재시도 횟수 |
각 웨어하우스에 대해, 실행된 쿼리 1,000개당 재시도된 쿼리 수입니다. |
이 메트릭은 낮거나 0이어야 합니다. 웨어하우스의 메모리가 부족하여 쿼리를 다시 시도하는 경우 쿼리 기록을 검토하여 웨어하우스에 대해 어떤 쿼리가 재시도 중인지 확인한 다음, 오류를 방지하기 위해 쿼리를 실행하는 웨어하우스를 수정합니다. |
쿼리 기록으로 쿼리 활동 모니터링하기 . . QUERY_HISTORY 뷰 . . 성능을 위한 웨어하우스 최적화하기 |
|
Warehouses with spillage |
% queries with bytes spilled |
백분율 |
각 웨어하우스에 대해, 실행 시 로컬 디스크 또는 원격 클라우드 저장소로 분산된 쿼리의 백분율입니다. |
이 메트릭은 낮거나 0이어야 합니다. 웨어하우스의 메모리가 부족하여 쿼리가 디스크로 분산되는 경우 쿼리 기록을 검토하여 웨어하우스에 대해 어떤 쿼리가 분산 중인지 확인한 다음, 오류를 방지하기 위해 쿼리를 실행하는 웨어하우스를 수정합니다. |
쿼리 기록으로 쿼리 활동 모니터링하기 . . QUERY_HISTORY 뷰 . . 너무 커서 메모리에 적합하지 않은 쿼리 |
% bytes spilled of total |
백분율 |
각 웨어하우스에 대해, 읽은 바이트 수와 비교하여 실행 시 로컬 디스크 또는 원격 클라우드 저장소로 분산된 바이트의 백분율입니다. |
이 메트릭은 낮거나 0이어야 합니다. 웨어하우스의 메모리가 부족하여 쿼리가 디스크로 분산되는 경우 쿼리 기록을 검토하여 웨어하우스에 대해 어떤 쿼리가 분산 중인지 확인한 다음, 오류를 방지하기 위해 쿼리를 실행하는 웨어하우스를 수정합니다. |
쿼리 기록으로 쿼리 활동 모니터링하기 . . QUERY_HISTORY 뷰 . . 너무 커서 메모리에 적합하지 않은 쿼리 |
|
Query wait time % |
Overload % |
백분율 |
각 웨어하우스에 대해, 쿼리 워크로드로 인해 웨어하우스가 오버로드되어 쿼리가 대기한 총 실행 시간의 비율입니다. |
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 실행되기 전에 대기 중인 경우 웨어하우스 리소스가 소진되어 리소스를 사용할 수 있을 때까지 웨어하우스가 쿼리를 큐에 추가할 수 있습니다. |
|
Provisioning % |
백분율 |
각 웨어하우스에 대해, 웨어하우스 생성, 재개 또는 크기 조정으로 인해 쿼리가 웨어하우스 컴퓨팅 리소스의 프로비저닝을 대기한 총 실행 시간의 평균 비율입니다. |
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 실행되기 전에 대기 중인 경우 웨어하우스 리소스가 소진되어 리소스를 사용할 수 있을 때까지 쿼리를 큐에 추가할 수 있습니다. |
||
Warehouse query performance |
Median query duration |
초 |
각 웨어하우스에 대해 쿼리를 실행하는 데 걸리는 시간의 중앙값입니다. |
이 메트릭은 데이터와 실행 중인 쿼리 유형에 따라 크게 달라집니다. 중앙값 쿼리 기간에 비정상적인 변경 사항이 표시되면 이 웨어하우스가 지원하는 워크로드가 변경되었거나 웨어하우스 구성이 변경되었을 수 있습니다. |
실행 시간 탐색하기 . . 쿼리 성능 최적화 |
Query throughput |
쿼리 |
각 웨어하우스에 대해 처리된 쿼리 수입니다. |
이 메트릭은 쿼리 활동의 변경 사항을 표시할 수 있으며, 이를 위해 쿼리를 실행하는 웨어하우스를 수정해야 할 수 있습니다. |
||
Warehouse events |
– |
없음 |
웨어하우스 이벤트의 정렬 가능한 테이블입니다. |
이 메트릭은 해당 기간에 변경된 웨어하우스를 보여줍니다. 데이터에 예기치 않은 이벤트가 있는지 검사합니다. |
상위 테이블 모니터링¶
성능 탐색기의 이 섹션에는 해당 기간 동안 가장 많은 변경 사항이 발생한 Snowflake 환경의 테이블에 대한 메트릭이 포함되어 있습니다. 이러한 메트릭을 모니터링하여 테이블이 쿼리 활동을 지원하고 예상대로 데이터를 반환할 수 있는지 확인할 수 있습니다. 이러한 메트릭은 다른 테이블과 비교할 때 비정상적인 쿼리 활동 추세와 연결된 테이블이 있는지 여부도 표시할 수 있습니다. 최근에 테이블이 변경되었는지 여부와 변경 사항을 확인할 수도 있습니다.
이 섹션의 모든 메트릭은 메트릭 값과 마지막 기간 이후의 변화율을 보여줍니다. 변화율은 양수 또는 음수일 수 있으며, 양수 변경은 위쪽 화살표로, 음수 변경 사항은 아래쪽 화살표로 표시됩니다. 성능 탐색기는 메트릭별로 가장 많이 변경된 테이블 10개를 보여줍니다. 더 많은 테이블에 대한 메트릭을 보려면 차트에서 >`를 선택하여 측면 패널을 엽니다. 이 메트릭에 테이블에 대한 마지막 기간 값이 없는 경우, 변화율 대신 :ui:—`이 표시됩니다. 새 테이블이거나 측정되는 이벤트가 드물기 때문에 값이 없을 수 있습니다.
이 섹션에는 다음 메트릭이 포함되어 있습니다.
메트릭 |
탭 |
단위 |
설명 |
참고 |
자세한 정보 |
|---|---|---|---|---|---|
Table query failures/1K |
– |
1,000개당 실패 수 |
각 테이블에 대해, 실행된 쿼리 1,000개당 실패한 쿼리 수입니다. |
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 실패하면 쿼리 기록과 오류를 검토한 다음, 쿼리를 수정하여 문제를 해결합니다. |
|
Table queries blocked/1K |
– |
1,000개당 차단 |
각 테이블에 대해, 실행된 쿼리 1,000개당 차단된 쿼리 수입니다. |
이 메트릭은 낮거나 0이어야 합니다. 쿼리가 차단되면 쿼리 기록과 오류를 검토한 다음, 쿼리를 수정하여 문제를 해결합니다. |
리소스 잠금 . . 트랜잭션 모범 사례 . . LOCK_WAIT_HISTORY 뷰 . . 쿼리 기록으로 쿼리 활동 모니터링하기 . . QUERY_HISTORY 뷰 |
Table read performance |
Median read query duration |
초 |
각 테이블에 대해 쿼리를 실행하는 데 걸리는 시간의 중앙값입니다. |
이 메트릭은 데이터와 실행 중인 쿼리 유형에 따라 크게 달라집니다. 시간이 지남에 따라 지속 시간이 변경되는 쿼리는 조사 및 최적화 대상이 될 수 있습니다. |
실행 시간 탐색하기 . . 쿼리 성능 최적화 |
Read query throughput |
쿼리 |
각 테이블에 대해 처리된 쿼리 수입니다. |
이 메트릭은 테이블에 대한 쿼리 활동의 변경 사항을 표시할 수 있습니다. 테이블에 대한 쿼리 수가 증가하는 경우 테이블을 수정하여 쿼리 성능을 최적화할 수 있습니다. 예를 들어, 테이블에서 검색 최적화를 활성화할 수 있습니다. |
||
Table write performance |
Median write query duration |
초 |
각 테이블에 대해 DML(데이터 조작 언어) 작업을 실행할 시간의 중앙값입니다. |
이 메트릭은 데이터와 실행 중인 DML 작업 유형에 따라 크게 다릅니다. 시간이 지남에 따라 지속 시간이 변경되는 DML 작업은 조사 및 최적화의 대상이 될 수 있습니다. |
실행 시간 탐색하기 . . 쿼리 성능 최적화 |
Write query throughput |
쿼리 |
각 테이블에 대해 처리된 DML 작업 수입니다. 테이블에 대한 DML 작업 수가 증가하는 경우 테이블을 수정하여 성능을 최적화할 수 있습니다. |
이 메트릭은 DML 작업 수의 변경 사항을 표시할 수 있습니다. |
||
Table change events |
– |
없음 |
A sortable table of table events. |
This metric shows which tables changed in the period. Examine the data for unexpected events. |