Azure Database for PostgreSQL - 유연한 서버에 대한 Query Performance Insight
적용 대상: 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
데이터베이스에 연결하고QueryId
를 사용하여query_store.query_texts_view
를 쿼리합니다.연속 탭에서 다음을 비롯한 다른 쿼리 인사이트를 찾을 수 있습니다.
- Wait Statistics
- 호출별 상위 쿼리
- 데이터 사용량별 상위 쿼리
- IOPS별 상위 쿼리
- 임시 파일별 상위 쿼리
고려 사항
- 쿼리 성능 인사이트는 읽기 복제본에 사용할 수 없습니다.
- Query Performance Insight가 작동하려면 쿼리 저장소에 데이터가 있어야 합니다. 쿼리 저장소는 옵트인 기능이므로 서버에서 기본적으로 사용하도록 설정되지 않습니다. 쿼리 저장소는 지정된 서버의 모든 데이터베이스에 대해 전역적으로 사용하거나 사용하지 않도록 설정되며 데이터베이스당 켜거나 끌 수 없습니다.
- 버스트 가능 가격 책정 계층에서 쿼리 저장소 사용하도록 설정하면 성능에 부정적인 영향을 미칠 수 있으므로 해당 계층에서 사용하도록 설정하지 않는 것이 좋습니다.
다음 단계
- Azure Database for PostgreSQL 유연한 서버의 모니터링 및 튜닝에 대해 자세히 알아보세요.