Query Performance Insight 살펴보기

완료됨

가장 많은 리소스를 사용하는 쿼리를 식별하는 것이 데이터베이스 성능 튜닝 작업의 첫 번째 단계입니다. 이전 버전의 SQL Server에서는 광범위한 추적과 일련의 복잡한 SQL 스크립트가 필요했기 때문에 데이터 수집 프로세스가 번거로울 수 있습니다.

문제가 있는 쿼리 식별

Azure SQL Database는 관리자가 리소스를 많이 사용하는 쿼리를 빠르게 식별하는 데 사용할 수 있는 Query Performance Insight라는 도구를 제공합니다. Azure SQL Database 기본 블레이드의 지능형 성능 섹션에서 Query Performance Insight로 이동할 수 있습니다.

Query Performance Insight를 시작하는 경우 장기 실행 쿼리, 리소스를 가장 많이 사용하는 쿼리 또는 사용자 지정 필터를 필터링할 수 있는 세 가지 단추를 찾을 수 있습니다. 기본값은 리소스 사용 쿼리입니다. 이 탭에는 왼쪽에서 선택한 특정 리소스를 기준으로 정렬된 상위 5개의 쿼리가 표시됩니다. 이 경우 CPU를 기준으로 정렬됩니다. 또한 데이터 IO 및 로그 IO 메트릭을 기준으로 정렬하는 다른 옵션이 있습니다.

하단 그리드에서 행을 클릭하여 개별 쿼리를 살펴볼 수 있습니다. 각 행은 위에 있는 막대 그래프의 색상과 관련된 고유한 색상으로 식별됩니다.

Query Performance Insights 스크린샷

장기 실행 쿼리로 전환하면 이전과 비슷한 레이아웃을 볼 수 있습니다. 이 경우 메트릭은 지난 24시간 동안의 기간을 기준으로 정렬된 상위 5개의 쿼리로 제한되며 총 집계입니다. 그래프 아래 표에서 행을 클릭하여 특정 쿼리를 검사할 수 있습니다.

Query Performance Insight에서 여러 실행 간의 쿼리 성능 스크린샷

사용자 지정 탭으로 전환하면 다른 두 옵션에 비해 유연성이 약간 증가합니다.

이 탭에서 성능 데이터를 검사하는 방법을 추가로 정의할 수 있습니다. 데이터를 시각적으로 표현할 수 있는 여러 드롭다운 메뉴를 제공합니다. 핵심 메트릭은 CPU, 로그 IO, 데이터 IO 및 메모리입니다. 이 메트릭은 데이터베이스 성능의 요소이며, 상한은 Azure SQL Database의 서비스 계층 및 컴퓨팅 리소스를 통해 결정됩니다.

Query Performance Insight의 사용자 지정 대시보드 스크린샷

개별 쿼리를 분석하면 쿼리 ID와 쿼리 자체뿐 아니라 쿼리 집계 유형 및 연결된 기간을 볼 수 있습니다. 또한 쿼리 ID는 쿼리 저장소에 있는 쿼리 ID와 상관 관계가 있습니다. 그러면 Query Performance Insights에서 수집한 메트릭을 쿼리 저장소 자체에서 쉽게 찾을 수 있으므로, 필요한 경우 심층 분석이나 문제 해결이 가능합니다.

Query Performance Insight의 쿼리 ID 3204 세부 정보 스크린샷

Query Performance Insight는 쿼리의 실행 계획을 표시하지 않지만 해당 쿼리를 신속하게 식별하고 정보를 사용하여 데이터베이스의 쿼리 저장소에서 계획을 추출할 수 있습니다.