다음을 통해 공유


Azure Database for PostgreSQL - 유연한 서버에서 인덱스 튜닝 구성

적용 대상: Azure Database for PostgreSQL - 유연한 서버

인덱스 튜닝은 튜닝 세션을 실행할 수 있는 빈도와 같이 동작을 제어하는 매개 변수 집합을 통해 활성화, 비활성화 및 구성할 수 있습니다.

인덱스 튜닝 사용

인덱스 튜닝은 쿼리 저장소를 사용한 모니터 성능에 따라 달라집니다. 버스트 가능 가격 책정 계층에서 쿼리 저장소를 사용하도록 설정하지 않는 것이 좋습니다. 같은 이유로 버스트 가능 계층의 서버에는 인덱스 튜닝을 권장하지 않습니다.

인덱스 튜닝은 서버에서 기본적으로 사용하도록 설정되지 않은 옵트인 기능입니다. 지정된 서버의 모든 데이터베이스에 대해 전역적으로 사용하도록 설정하거나 사용하지 않도록 설정할 수 있으며 데이터베이스당 켜거나 끌 수 없습니다.

Azure Portal에서 인덱스 튜닝 사용(서버 매개 변수를 통해)

  1. Azure Portal에 로그인하고 PostgreSQL 유연한 서버 인스턴스에 대한 Azure Database를 선택합니다.

  2. 메뉴의 설정 섹션에서 서버 매개 변수를 선택합니다.

  3. pg_qs.query_capture_mode 매개 변수를 검색합니다.

  4. 최상위 쿼리 또는 중첩된 쿼리를 추적할지 여부에 따라 값을 TOP 또는 ALL(으)로 설정합니다. 중첩된 쿼리는 함수 또는 프로시저 내에서 실행되는 쿼리입니다. 인덱스 튜닝의 가장 높은 이점을 보려면 이 매개 변수를 ALL(으)로 설정하는 것이 좋습니다.

    pg_qs.query_capture_mode 서버 매개 변수의 값을 설정하는 방법을 보여 주는 스크린샷

  5. index_tuning.mode 매개 변수를 검색하고 해당 값을 REPORT으로 설정합니다.

    index_tuning.mode 서버 매개 변수의 값을 REPORT로 설정하는 방법을 보여 주는 스크린샷

  6. 저장을 선택합니다.

    수정된 매개 변수가 적용되도록 저장하는 방법을 보여 주는 스크린샷

  7. 사용 가능한 기능을 고려하기 전에 배포가 성공적으로 완료될 때까지 기다립니다.

    성공적으로 완료되면 수정된 서버 매개 변수를 저장하기 위해 시작된 배포를 보여 주는 스크린샷.

Azure Portal에서 인덱스 튜닝 사용(인덱스 튜닝을 통해)

  1. Azure Portal에 로그인하고 PostgreSQL 유연한 서버 인스턴스에 대한 Azure Database를 선택합니다.

  2. 메뉴의 지능형 성능 섹션에서 인덱스 튜닝 을 선택합니다.

  3. pg_qs.query_capture_mode이(가) NONE(으)로 설정되거나 index_tuning.mode이(가) OFF(으)로 설정된 경우 인덱스 튜닝 페이지에서 인덱스 튜닝을 사용하도록 설정하는 옵션을 제공합니다.

  4. 인덱스 튜닝 기능 및 필요한 쿼리 저장소 종속성을 사용하도록 설정하려면 두 가지 인덱스 튜닝 사용 단추 중 하나를 선택합니다.

    인덱스 튜닝 페이지를 통해 인덱스 튜닝을 사용하도록 설정하는 방법을 보여 주는 스크린샷

  5. 인덱스 튜닝을 사용하도록 설정한 후 인덱스 튜닝 엔진이 해당 시간 동안 쿼리 저장소에서 수집한 워크로드를 분석하고 결국 인덱스 만들기 또는 삭제 권장 사항을 생성하도록 12시간을 허용합니다.

Important

인덱스 튜닝 사용 단추를 통해 인덱스 튜닝을 사용하도록 설정하면, pg_qs.query_capture_mode이(가) NONE(으)로 설정된 경우 ALL(으)로 설정됩니다. 이미 TOP 또는 ALL(으)로 설정된 경우 현재 상태로 남게 됩니다.

인덱스 튜닝 사용 안 함

인덱스 튜닝을 사용하지 않도록 설정하면 해당 서버 매개 변수를 변경하거나 인덱스 튜닝 페이지를 활용할 수도 있습니다.

Azure Portal에서 인덱스 튜닝 사용 안 함(서버 매개 변수를 통해)

  1. Azure Portal에 로그인하고 Azure Database for PostgreSQL 유연한 서버 인스턴스를 선택합니다.

  2. 메뉴의 설정 섹션에서 서버 매개 변수를 선택합니다.

  3. index_tuning.mode 매개 변수를 검색하고 해당 값을 OFF으로 설정합니다.

    index_tuning.mode 서버 매개 변수의 값을 OFF로 설정하는 방법을 보여 주는 스크린샷

  4. 인덱스 튜닝을 사용하지 않도록 설정해도 쿼리 저장소가 자동으로 비활성화되지는 않습니다. 쿼리 저장소에서 모니터 성능을 계속 사용하여 워크로드의 성능을 모니터링하고 사용하도록 설정할지 또는 사용하지 않도록 설정하려는 경우 로 설정할 pg_qs.query_capture_mode NONE지 평가합니다.

  5. 저장을 선택합니다.

    수정된 매개 변수가 적용되도록 저장하는 방법을 보여 주는 스크린샷

  6. 사용하지 않도록 설정된 기능을 고려하기 전에 배포가 성공적으로 완료될 때까지 기다립니다.

    성공적으로 완료되면 수정된 서버 매개 변수를 저장하기 위해 시작된 배포를 보여 주는 스크린샷.

Azure Portal에서 인덱스 튜닝 사용 안 함(인덱스 튜닝을 통해)

  1. Azure Portal에 로그인하고 PostgreSQL 유연한 서버 인스턴스에 대한 Azure Database를 선택합니다.

  2. 메뉴의 Query Performance Insight 섹션에서 인덱스 튜닝을 선택합니다.

  3. 인덱스 튜닝 사용 안 함 단추를 선택하여 기능을 사용하지 않도록 설정합니다.

    인덱스 튜닝 페이지를 통해 인덱스 튜닝을 사용하지 않도록 설정하는 방법을 보여 주는 스크린샷

  4. 쿼리 저장소에서 모니터 성능을 계속 사용하여 워크로드의 성능을 모니터링하고 사용하도록 설정할지 또는 사용하지 않도록 설정하려는 경우 로 설정할 pg_qs.query_capture_mode NONE지 평가합니다.

Important

인덱스 튜닝 사용 안 함 단추를 통해 인덱스 튜닝을 사용하지 않도록 설정하면 서버 매개 변수 pg_qs.query_capture_mode이(가) 그대로 유지됩니다.

구성 옵션

인덱스 튜닝을 사용하도록 설정하면 서버 매개 변수에 index_tuning.analysis_interval 구성된 빈도(기본값: 720분 또는 12시간)로 절전 모드가 해제되고 해당 기간 동안 쿼리 저장소에서 기록된 워크로드 분석이 시작됩니다.

index_tuning.analysis_interval 값을 변경하는 경우 예약된 다음 실행이 완료된 후에만 관찰됩니다. 예를 들어 오전 10시에서 하루 인덱스 튜닝을 사용하도록 설정하면 index_tuning.analysis_interval 기본값이 720분이므로 첫 번째 실행은 같은 날 오후 10시 00분에 시작되도록 예약됩니다. 오전 10시에서 오후 10시 사이에 index_tuning.analysis_interval 값을 변경해도 초기 일정에는 영향을 주지 않습니다. 예약된 실행이 완료된 경우에만 index_tuning.analysis_interval에 대해 설정된 현재 값을 읽고 해당 값에 따라 다음 실행을 예약합니다.

인덱스 튜닝 매개 변수를 구성하는 데 사용할 수 있는 옵션은 다음과 같습니다.

매개 변수 설명 기본값 범위 Units
index_tuning.analysis_interval index_tuning.mode가 REPORT(으)로 설정될 때 각 인덱스 최적화 세션이 트리거되는 빈도를 설정합니다. 720 60 - 10080 minutes
index_tuning.max_columns_per_index 권장 인덱스에 대한 인덱스 키의 일부가 될 수 있는 최대 열 수입니다. 2 1 - 10
index_tuning.max_index_count 한 최적화 세션 동안 각 데이터베이스에 권장되는 최대 인덱스입니다. 10 1 - 25
index_tuning.max_indexes_per_table 각 테이블에 권장될 수 있는 최대 인덱스 수입니다. 10 1 - 25
index_tuning.max_queries_per_database 인덱스를 권장할 수 있는 데이터베이스당 가장 느린 쿼리 수입니다. 25 5 - 100
index_tuning.max_regression_factor 한 최적화 세션 동안 분석된 쿼리에 대해 권장되는 인덱스에 의해 도입된 허용되는 회귀입니다. 0.1 0.05 - 0.2 percentage
index_tuning.max_total_size_factor 지정된 데이터베이스에 대한 모든 권장 인덱스가 사용할 수 있는 최대 총 크기(총 디스크 공간의 백분율)입니다. 0.1 0 - 1 percentage
index_tuning.min_improvement_factor 권장 인덱스가 하나의 최적화 세션 동안 분석된 쿼리 중 하나 이상에 제공해야 하는 비용 향상 0.2 0 - 20 percentage
index_tuning.mode 인덱스 최적화를 사용 안 함(OFF)으로 구성하거나 권장 사항만 내보내도록 설정합니다. 또는 .로 설정 pg_qs.query_capture_mode 하여 쿼리 저장소를 사용하도록 설정해야 합니다ALLTOP. OFF OFF, REPORT
index_tuning.unused_dml_per_table 테이블에 영향을 주는 일일 평균 DML 작업의 최소 수이므로 사용하지 않는 인덱스는 삭제하는 것으로 간주됩니다. 1000 0 - 9999999
index_tuning.unused_min_period 시스템 통계에 따라 인덱스가 사용되지 않은 최소 일 수이므로 삭제하는 것으로 간주됩니다. 35 30 - 70
index_tuning.unused_reads_per_table 사용되지 않는 인덱스가 삭제되는 것으로 간주되도록 테이블에 영향을 주는 최소 일일 평균 읽기 작업 수입니다. 1000 0 - 9999999