Konfigurieren der Indexoptimierung in Azure Database for PostgreSQL – Flexibler Server
GILT FÜR: Azure Database for PostgreSQL – Flexibler Server
Die Indexoptimierung kann über eine Reihe von Parametern für die Verhaltenssteuerung aktiviert, deaktiviert und konfiguriert werden. So können Sie beispielsweise festlegen, wie oft eine Optimierungssitzung ausgeführt werden kann.
Aktivieren der Indexoptimierung
Die Indexoptimierung hängt von der Überwachung der Leistung mit dem Abfragespeicher ab. Aufgrund der möglichen Auswirkungen auf die Leistung wird davon abgeraten, den Abfragespeicher im Tarif „Burstfähig“ zu aktivieren. Aus dem gleichen Grund wird die Indexoptimierung für Server im Tarif „Burstfähig“ nicht empfohlen.
Die Indexoptimierung ist ein optionales Feature, das auf einem Server standardmäßig nicht aktiviert ist. Sie kann global für alle Datenbanken auf einem bestimmten Server aktiviert oder deaktiviert werden. Die Aktivierung oder Deaktivierung für einzelne Datenbanken ist nicht möglich.
Aktivieren der Indexoptimierung im Azure-Portal (über Serverparameter)
Melden Sie sich beim Azure-Portal an, und wählen Sie Ihre Instanz von Azure Database for PostgreSQL – Flexibler Server aus.
Wählen Sie im Bereich Einstellungen im Menü die Option Serverparameter aus.
Suchen Sie nach dem Parameter
pg_qs.query_capture_mode
.Legen Sie den Wert auf
TOP
oderALL
fest (je nachdem, ob Sie Abfragen der obersten Ebene oder geschachtelte Abfragen nachverfolgen möchten). Geschachtelte Abfragen sind Abfragen, die innerhalb einer Funktion oder Prozedur ausgeführt werden. Um bestmöglich von der Indexoptimierung zu profitieren, empfiehlt es sich, diesen Parameter aufALL
festzulegen.Suchen Sie nach dem Parameter
index_tuning.mode
, und legen Sie den Wert aufREPORT
fest.Wählen Sie Speichern aus.
Warten Sie, bis die Bereitstellung erfolgreich abgeschlossen wurde, bevor Sie das Feature als aktiviert betrachten.
Aktivieren der Indexoptimierung im Azure-Portal (über die Indexoptimierung)
Melden Sie sich beim Azure-Portal an, und wählen Sie Ihre Instanz von Azure Database for PostgreSQL – Flexibler Server aus.
Wählen Sie im Abschnitt Intelligente Leistung des Menüs die Option Indexoptimierung aus.
Wenn entweder
pg_qs.query_capture_mode
aufNONE
oderindex_tuning.mode
aufOFF
festgelegt ist, haben Sie auf der Indexoptimierungsseite die Möglichkeit, die Indexoptimierung zu aktivieren.Wählen Sie eine der beiden Schaltflächen vom Typ Indexoptimierung aktivieren aus, um das Indexoptimierungsfeature und die erforderliche Abfragespeicherabhängigkeit zu aktivieren (vorausgesetzt, der Abfragespeicher ist deaktiviert).
Warten Sie nach dem Aktivieren der Indexoptimierung 12 Stunden, damit die Indexoptimierungs-Engine die vom Abfragespeicher gesammelte Workload analysieren und schließlich indexbezogene Erstellungs- oder Löschempfehlungen generieren kann.
Wichtig
Wenn die Indexoptimierung über die Schaltfläche Indexoptimierung aktivieren aktiviert wird und pg_qs.query_capture_mode
auf NONE
festgelegt ist, wird sie auf ALL
festgelegt. Wenn sie bereits auf TOP
oder ALL
festgelegt war, bleibt der aktuelle Zustand unverändert.
Deaktivieren der Indexoptimierung
Wenn Sie die Indexoptimierung deaktivieren möchten, können Sie auch wieder den entsprechenden Serverparameter ändern oder die Seite Indexoptimierung verwenden.
Deaktivieren der Indexoptimierung im Azure-Portal (über Serverparameter)
Melden Sie sich beim Azure-Portal an, und wählen Sie Ihre Azure Database for PostgreSQL Flexible Server-Instanz aus.
Wählen Sie im Bereich Einstellungen im Menü die Option Serverparameter aus.
Suchen Sie nach dem Parameter
index_tuning.mode
, und legen Sie den Wert aufOFF
fest.Durch Deaktivieren der Indexoptimierung wird nicht automatisch auch der Abfragespeicher deaktiviert. Überlegen Sie sich, ob Sie weiterhin die Überwachung der Leistung mit dem Abfragespeicher zur Überwachung der Leistung Ihrer Workload verwenden und den Abfragespeicher aktiviert lassen möchten, oder legen Sie
pg_qs.query_capture_mode
aufNONE
fest, um ihn zu deaktivieren.Wählen Sie Speichern aus.
Warten Sie, bis die Bereitstellung erfolgreich abgeschlossen wurde, bevor Sie das Feature als deaktiviert betrachten.
Deaktivieren der Indexoptimierung im Azure-Portal (über die Indexoptimierung)
Melden Sie sich beim Azure-Portal an, und wählen Sie Ihre Instanz von Azure Database for PostgreSQL – Flexibler Server aus.
Wählen Sie im Abschnitt Query Performance Insight des Menüs die Option Indexoptimierung aus.
Wählen Sie die Schaltfläche Indexoptimierung deaktivieren aus, um das Feature zu deaktivieren.
Überlegen Sie sich, ob Sie weiterhin die Überwachung der Leistung mit dem Abfragespeicher zur Überwachung der Leistung Ihrer Workload verwenden und den Abfragespeicher aktiviert lassen möchten, oder legen Sie
pg_qs.query_capture_mode
aufNONE
fest, um ihn zu deaktivieren.
Wichtig
Wenn die Indexoptimierung über die Schaltfläche Indexoptimierung deaktivieren deaktiviert wird, bleibt der Serverparameter pg_qs.query_capture_mode
davon unberührt.
Konfigurationsoptionen
Wenn die Indexoptimierung aktiviert ist, wird sie mit der im Serverparameter index_tuning.analysis_interval
konfigurierten Frequenz (standardmäßig 720 Minuten bzw. 12 Stunden) aktiviert und beginnt mit der Analyse der Workload, die vom Abfragespeicher während dieses Zeitraums aufgezeichnet wurde.
Hinweis: Wenn Sie den Wert für index_tuning.analysis_interval
ändern, wird dies erst nach Abschluss der nächsten geplanten Ausführung berücksichtigt. Wenn Sie also beispielsweise eine Indexoptimierung um 10:00 Uhr aktivieren, wird die erste Ausführung für 22:00 Uhr am gleichen Tag geplant, da der Standardwert für index_tuning.analysis_interval
720 Minuten beträgt. Änderungen, die Sie zwischen 10:00 Uhr und 22:00 Uhr am Wert von index_tuning.analysis_interval
vornehmen, haben keine Auswirkungen auf diesen anfänglichen Zeitplan. Der aktuell für index_tuning.analysis_interval
festgelegte Wert wird erst nach Abschluss der geplanten Ausführung gelesen, und die nächste Ausführung wird gemäß diesem Wert geplant.
Für die Konfiguration der Indexoptimierungsparameter stehen folgende Optionen zur Verfügung:
Parameter | Beschreibung | Standard | Bereich | Einheiten |
---|---|---|---|---|
index_tuning.analysis_interval |
Legt die Frequenz fest, mit der die einzelnen Indexoptimierungssitzungen ausgelöst werden, wenn „index_tuning.mode“ auf REPORT festgelegt ist. |
720 |
60 - 10080 |
minutes |
index_tuning.max_columns_per_index |
Maximale Anzahl von Spalten, die Teil des Indexschlüssels für einen empfohlenen Index sein können. | 2 |
1 - 10 |
|
index_tuning.max_index_count |
Empfohlene maximale Indizes für die einzelnen Datenbanken während einer einzelnen Optimierungssitzung. | 10 |
1 - 25 |
|
index_tuning.max_indexes_per_table |
Maximale Anzahl von Indizes, die pro Tabelle empfohlen werden können. | 10 |
1 - 25 |
|
index_tuning.max_queries_per_database |
Anzahl der langsamsten Abfragen pro Datenbank, für die Indizes empfohlen werden können. | 25 |
5 - 100 |
|
index_tuning.max_regression_factor |
Akzeptable Regression, die durch einen empfohlenen Index für beliebige der während einer Optimierungssitzung analysierten Abfragen eingeführt wird. | 0.1 |
0.05 - 0.2 |
percentage |
index_tuning.max_total_size_factor |
Maximale Gesamtgröße in Prozent des gesamten Speicherplatzes, die von allen empfohlenen Indizes für eine bestimmte Datenbank genutzt werden kann. | 0.1 |
0 - 1 |
percentage |
index_tuning.min_improvement_factor |
Kostenverbesserung, die ein empfohlener Index für mindestens eine der während einer Optimierungssitzung analysierten Abfragen erzielen muss. | 0.2 |
0 - 20 |
percentage |
index_tuning.mode |
Konfiguriert die Indexoptimierung als deaktiviert (OFF ) oder aktiviert, um nur Empfehlung auszugeben. Setzt die Aktivierung des Abfragespeichers durch Festlegen von pg_qs.query_capture_mode auf TOP oder ALL voraus. |
OFF |
OFF, REPORT |
|
index_tuning.unused_dml_per_table |
Die Mindestanzahl durchschnittlicher DML-Vorgänge pro Tag, die sich auf die Tabelle auswirken, damit die Löschung ihrer nicht verwendeten Indizes in Betracht gezogen wird. | 1000 |
0 - 9999999 |
|
index_tuning.unused_min_period |
Die Mindestanzahl von Tagen, die der Index nicht verwendet wurde (basierend auf Systemstatistiken), damit seine Löschung in Betracht gezogen wird. | 35 |
30 - 70 |
|
index_tuning.unused_reads_per_table |
Die Mindestanzahl durchschnittlicher Lesevorgänge pro Tag, die sich auf die Tabelle auswirken, damit die Löschung ihrer nicht verwendeten Indizes in Betracht gezogen wird. | 1000 |
0 - 9999999 |
Zugehöriger Inhalt
- Indexoptimierung in Azure Database for PostgreSQL – Flexibler Server
- Verwenden von Indexempfehlungen der Indexoptimierung in Azure Database for PostgreSQL – Flexibler Server
- Überwachen der Leistung mit dem Abfragespeicher
- Verwendungsszenarien für den Abfragespeicher: Azure Database for PostgreSQL – Flexibler Server
- Bewährte Methoden für den Abfragespeicher: Azure Database for PostgreSQL – Flexibler Server
- Query Performance Insight für Azure Database for PostgreSQL – Flexibler Server