Azure Database for PostgreSQL - 유연한 서버에서 인덱스 튜닝 구성
적용 대상: Azure Database for PostgreSQL - 유연한 서버
인덱스 튜닝은 튜닝 세션을 실행할 수 있는 빈도와 같이 동작을 제어하는 매개 변수 집합을 통해 활성화, 비활성화 및 구성할 수 있습니다.
인덱스 튜닝 사용
인덱스 튜닝은 쿼리 저장소를 사용한 모니터 성능에 따라 달라집니다. 버스트 가능 가격 책정 계층에서 쿼리 저장소를 사용하도록 설정하지 않는 것이 좋습니다. 같은 이유로 버스트 가능 계층의 서버에는 인덱스 튜닝을 권장하지 않습니다.
인덱스 튜닝은 서버에서 기본적으로 사용하도록 설정되지 않은 옵트인 기능입니다. 지정된 서버의 모든 데이터베이스에 대해 전역적으로 사용하도록 설정하거나 사용하지 않도록 설정할 수 있으며 데이터베이스당 켜거나 끌 수 없습니다.
Azure Portal에서 인덱스 튜닝 사용(서버 매개 변수를 통해)
Azure Portal에 로그인하고 PostgreSQL 유연한 서버 인스턴스에 대한 Azure Database를 선택합니다.
메뉴의 설정 섹션에서 서버 매개 변수를 선택합니다.
pg_qs.query_capture_mode
매개 변수를 검색합니다.최상위 쿼리 또는 중첩된 쿼리를 추적할지 여부에 따라 값을
TOP
또는ALL
(으)로 설정합니다. 중첩된 쿼리는 함수 또는 프로시저 내에서 실행되는 쿼리입니다. 인덱스 튜닝의 가장 높은 이점을 보려면 이 매개 변수를ALL
(으)로 설정하는 것이 좋습니다.index_tuning.mode
매개 변수를 검색하고 해당 값을REPORT
으로 설정합니다.저장을 선택합니다.
사용 가능한 기능을 고려하기 전에 배포가 성공적으로 완료될 때까지 기다립니다.
Azure Portal에서 인덱스 튜닝 사용(인덱스 튜닝을 통해)
Azure Portal에 로그인하고 PostgreSQL 유연한 서버 인스턴스에 대한 Azure Database를 선택합니다.
메뉴의 지능형 성능 섹션에서 인덱스 튜닝 을 선택합니다.
pg_qs.query_capture_mode
이(가)NONE
(으)로 설정되거나index_tuning.mode
이(가)OFF
(으)로 설정된 경우 인덱스 튜닝 페이지에서 인덱스 튜닝을 사용하도록 설정하는 옵션을 제공합니다.인덱스 튜닝 기능 및 필요한 쿼리 저장소 종속성을 사용하도록 설정하려면 두 가지 인덱스 튜닝 사용 단추 중 하나를 선택합니다.
인덱스 튜닝을 사용하도록 설정한 후 인덱스 튜닝 엔진이 해당 시간 동안 쿼리 저장소에서 수집한 워크로드를 분석하고 결국 인덱스 만들기 또는 삭제 권장 사항을 생성하도록 12시간을 허용합니다.
Important
인덱스 튜닝 사용 단추를 통해 인덱스 튜닝을 사용하도록 설정하면, pg_qs.query_capture_mode
이(가) NONE
(으)로 설정된 경우 ALL
(으)로 설정됩니다. 이미 TOP
또는 ALL
(으)로 설정된 경우 현재 상태로 남게 됩니다.
인덱스 튜닝 사용 안 함
인덱스 튜닝을 사용하지 않도록 설정하면 해당 서버 매개 변수를 변경하거나 인덱스 튜닝 페이지를 활용할 수도 있습니다.
Azure Portal에서 인덱스 튜닝 사용 안 함(서버 매개 변수를 통해)
Azure Portal에 로그인하고 Azure Database for PostgreSQL 유연한 서버 인스턴스를 선택합니다.
메뉴의 설정 섹션에서 서버 매개 변수를 선택합니다.
index_tuning.mode
매개 변수를 검색하고 해당 값을OFF
으로 설정합니다.인덱스 튜닝을 사용하지 않도록 설정해도 쿼리 저장소가 자동으로 비활성화되지는 않습니다. 쿼리 저장소에서 모니터 성능을 계속 사용하여 워크로드의 성능을 모니터링하고 사용하도록 설정할지 또는 사용하지 않도록 설정하려는 경우 로 설정할
pg_qs.query_capture_mode
NONE
지 평가합니다.저장을 선택합니다.
사용하지 않도록 설정된 기능을 고려하기 전에 배포가 성공적으로 완료될 때까지 기다립니다.
Azure Portal에서 인덱스 튜닝 사용 안 함(인덱스 튜닝을 통해)
Azure Portal에 로그인하고 PostgreSQL 유연한 서버 인스턴스에 대한 Azure Database를 선택합니다.
메뉴의 Query Performance Insight 섹션에서 인덱스 튜닝을 선택합니다.
인덱스 튜닝 사용 안 함 단추를 선택하여 기능을 사용하지 않도록 설정합니다.
쿼리 저장소에서 모니터 성능을 계속 사용하여 워크로드의 성능을 모니터링하고 사용하도록 설정할지 또는 사용하지 않도록 설정하려는 경우 로 설정할
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 하여 쿼리 저장소를 사용하도록 설정해야 합니다ALL TOP . |
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 |
관련 콘텐츠
- Azure Database for PostgreSQL의 인덱스 튜닝 - 유연한 서버
- Azure Database for PostgreSQL - 유연한 서버에서 인덱스 튜닝으로 생성된 인덱스 권장 사항 사용
- 쿼리 저장소를 사용하여 성능 모니터링
- 쿼리 저장소에 대한 사용 시나리오 - Azure Database for PostgreSQL - 유연한 서버
- 쿼리 저장소에 대한 모범 사례 - Azure Database for PostgreSQL - 유연한 서버
- Azure Database for PostgreSQL- 유연한 서버에 대한 쿼리 성능 분석