적용 대상: Azure Database for PostgreSQL - 유연한 서버
Query Performance Insight는 Azure Database for PostgreSQL 유연한 서버 데이터베이스에 대한 지능형 쿼리 분석을 제공합니다. 워크로드에서 리소스를 많이 사용하고 오래 실행되는 쿼리를 식별하는 데 도움이 됩니다. 이를 통해 전반적인 워크로드 성능을 개선하고 비용을 지불한 리소스를 효율적으로 사용하기 위해 최적화할 쿼리를 찾는 데 도움이 됩니다. Query Performance Insight는 다음을 제공하여 데이터베이스 성능 문제 해결 시간을 줄일 수 있습니다.
- 장기 실행 쿼리와 시간이 지남에 따라 변경되는 방식을 식별합니다.
- 해당 쿼리에 영향을 주는 대기 유형을 확인합니다.
- 호출(실행 횟수), 데이터 사용량별, IOPS 및 임시 파일 사용량별 상위 데이터베이스 쿼리에 대한 세부 정보(성능 향상을 위한 잠재적 튜닝 후보).
- 리소스 사용률에 대한 쿼리 ID 및 기록을 확인할 수 있도록 쿼리에 대한 세부 정보로 드릴다운하는 기능
- 전반적인 데이터베이스 리소스 사용량에 대한 심층 인사이트
필수 구성 요소
- 쿼리 저장소는 데이터베이스에서 사용하도록 설정됩니다. 쿼리 저장소가 실행되고 있지 않으면 Azure Portal에서 쿼리 저장소를 사용하도록 설정하라는 메시지가 표시됩니다. 쿼리 저장소 사용하도록 설정하려면 여기를 참조하세요.
참고
쿼리 저장소는 현재 사용하지 않도록 설정되어 있습니다. Query Performance Insight는 쿼리 저장소 데이터에 따라 달라집니다. 동적 서버 매개 변수 pg_qs.query_capture_mode
를 ALL 또는 TOP로 설정하여 사용하도록 설정해야 합니다.
- 쿼리 저장소 대기 샘플링은 데이터베이스에서 사용하도록 설정됩니다. 쿼리 저장소 대기 샘플링이 실행되고 있지 않으면 Azure Portal에서 이를 사용하도록 설정하라는 메시지가 표시됩니다. 쿼리 저장소 대기 샘플링을 사용하도록 설정하려면 여기를 참조하세요.
참고
쿼리 저장소 대기 샘플링은 현재 사용하지 않도록 설정되어 있습니다. Query Performance Insight는 쿼리 저장소 대기 샘플링 데이터에 따라 달라집니다. 동적 서버 매개 변수 pgms_wait_sampling.query_capture_mode
를 ALL로 설정하여 사용하도록 설정해야 합니다.
- Log Analytics 작업 영역은 Azure Database for PostgreSQL 유연한 서버 세션 로그, Azure Database for PostgreSQL 유연한 서버 쿼리 저장소 및 런타임, Azure Database for PostgreSQL 유연한 서버 쿼리 저장소 대기 통계 등 3가지 로그 범주를 저장하도록 구성됩니다. 로그 분석을 구성하려면 Log Analytics 작업 영역을 참조하세요.
참고
쿼리 저장소 데이터가 로그 분석 작업 영역으로 전송되지 않습니다. Azure Database for PostgreSQL의 유연한 서버 로그(세션 데이터/쿼리 저장소 런타임/쿼리 저장소 대기 인사이트)가 Query Performance Insight를 사용하는 데 필요한 로그 분석 작업 영역으로 전송되지 않습니다. Azure Database for PostgreSQL 유연한 서버에 대한 진단 설정을 구성하고 데이터를 로그 분석 작업 영역으로 보내려면 Azure Database for PostgreSQL 유연한 서버에서 로그 구성 및 액세스를 참조하세요.
사용 권한
Query Performance Insight를 사용하려면 Azure Database for PostgreSQL 유연한 서버에 다음 Azure RBAC(Azure 역할 기반 액세스 제어) 권한이 할당되어야 합니다.
- Microsoft.DBforPostgreSQL/flexibleServers/configurations/read
- Microsoft.DBforPostgreSQL/flexibleServers/providers/Microsoft.Insights/diagnosticSettings/read
- Microsoft.DBforPostgreSQL/flexibleServers/read
- Microsoft.Insights/Components/read
- Microsoft.Insights/DiagnosticSettings/read
- Microsoft.Insights/DiagnosticSettingsCategories/read
- Microsoft.Insights/Logs/AzureDiagnostics/read
- Microsoft.Insights/Logs/read
Query Performance Insight 사용
Azure Portal의 Query Performance Insight 보기는 쿼리 저장소의 주요 정보에 대한 시각화를 표시합니다. Query Performance Insight는 쉽게 사용할 수 있습니다.
Azure Portal을 열고 검사하려는 Azure Database for PostgreSQL 유연한 서버 인스턴스를 찾습니다.
왼쪽 메뉴에서 지능형 성능>Query Performance Insight를 엽니다.
쿼리를 조사하기 위한 시간 범위를 선택합니다.
첫 번째 탭에서 장기 실행 쿼리 목록을 검토합니다.
슬라이더 또는 확대/축소를 사용하여 관찰 간격을 변경합니다.
필요에 따라 사용자 지정을 선택하여 시간 범위를 지정할 수도 있습니다.
참고
Query Performance Insight에서 정보를 렌더링하는 Azure Database for PostgreSQL 유연한 서버의 경우 쿼리 저장소는 몇 시간의 데이터를 캡처해야 합니다. 데이터베이스에 아무런 작업이 없거나 쿼리 저장소가 특정 기간 동안 비활성 상태였다면 Query Performance Insight에서 해당 기간을 표시할 때 차트가 비어 있게 됩니다. 쿼리 저장소는 실행 중이 아닌 경우 언제든지 활성화할 수 있습니다. 자세한 내용은 쿼리 저장소 모범 사례를 참조하세요.
특정 쿼리의 세부 정보를 보려면
QueryId Snapshot
드롭다운을 클릭합니다.특정 쿼리의 쿼리 텍스트를 가져오려면 서버의
azure_sys
데이터베이스에 연결하고query_store.query_texts_view
를 사용하여QueryId
를 쿼리합니다.연속 탭에서 다음을 비롯한 다른 쿼리 인사이트를 찾을 수 있습니다.
- 대기 통계
- 호출별 상위 쿼리
- 데이터 사용량별 상위 쿼리
- IOPS별 상위 쿼리
- 임시 파일별 상위 쿼리
고려 사항
- 읽기 복제본에는 Query Performance Insight를 사용할 수 없습니다.
- Query Performance Insight가 작동하려면 쿼리 저장소에 데이터가 있어야 합니다. 쿼리 저장소는 옵트인 기능이므로 서버에서 기본적으로 사용하도록 설정되지 않습니다. 쿼리 저장소는 특정 서버의 모든 데이터베이스에 대해 전역적으로 사용하거나 사용하지 않도록 설정되며 데이터베이스별로 켜거나 끌 수 없습니다.
- Burstable 가격 책정 계층에서 쿼리 저장소를 사용하도록 설정하면 성능에 부정적인 영향을 미칠 수 있으므로 해당 계층에서는 이 기능을 사용하도록 설정하지 않는 것이 좋습니다.