Freigeben über


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)

  1. Melden Sie sich beim Azure-Portal an, und wählen Sie Ihre Instanz von Azure Database for PostgreSQL – Flexibler Server aus.

  2. Wählen Sie im Bereich Einstellungen im Menü die Option Serverparameter aus.

  3. Suchen Sie nach dem Parameter pg_qs.query_capture_mode.

  4. Legen Sie den Wert auf TOP oder ALL 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 auf ALL festzulegen.

    Screenshot: Festlegen des Werts des Serverparameters „pg_qs.query_capture_mode“

  5. Suchen Sie nach dem Parameter index_tuning.mode, und legen Sie den Wert auf REPORT fest.

    Screenshot: Festlegen des Werts des Serverparameters „index_tuning.mode“ auf „REPORT“

  6. Wählen Sie Speichern aus.

    Screenshot: Speichern der geänderten Parameter, damit sie wirksam werden

  7. Warten Sie, bis die Bereitstellung erfolgreich abgeschlossen wurde, bevor Sie das Feature als aktiviert betrachten.

    Screenshot: Initiierte Bereitstellung zum Speichern geänderter Serverparameter nach erfolgreichem Abschluss

Aktivieren der Indexoptimierung im Azure-Portal (über die Indexoptimierung)

  1. Melden Sie sich beim Azure-Portal an, und wählen Sie Ihre Instanz von Azure Database for PostgreSQL – Flexibler Server aus.

  2. Wählen Sie im Abschnitt Intelligente Leistung des Menüs die Option Indexoptimierung aus.

  3. Wenn entweder pg_qs.query_capture_mode auf NONE oder index_tuning.mode auf OFF festgelegt ist, haben Sie auf der Indexoptimierungsseite die Möglichkeit, die Indexoptimierung zu aktivieren.

  4. 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).

    Screenshot: Aktivieren der Indexoptimierung über die Seite „Indexoptimierung“.

  5. 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)

  1. Melden Sie sich beim Azure-Portal an, und wählen Sie Ihre Azure Database for PostgreSQL Flexible Server-Instanz aus.

  2. Wählen Sie im Bereich Einstellungen im Menü die Option Serverparameter aus.

  3. Suchen Sie nach dem Parameter index_tuning.mode, und legen Sie den Wert auf OFF fest.

    Screenshot: Festlegen des Werts des Serverparameters „index_tuning.mode“ auf „OFF“

  4. 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 auf NONE fest, um ihn zu deaktivieren.

  5. Wählen Sie Speichern aus.

    Screenshot: Speichern der geänderten Parameter, damit sie wirksam werden

  6. Warten Sie, bis die Bereitstellung erfolgreich abgeschlossen wurde, bevor Sie das Feature als deaktiviert betrachten.

    Screenshot: Initiierte Bereitstellung zum Speichern geänderter Serverparameter nach erfolgreichem Abschluss

Deaktivieren der Indexoptimierung im Azure-Portal (über die Indexoptimierung)

  1. Melden Sie sich beim Azure-Portal an, und wählen Sie Ihre Instanz von Azure Database for PostgreSQL – Flexibler Server aus.

  2. Wählen Sie im Abschnitt Query Performance Insight des Menüs die Option Indexoptimierung aus.

  3. Wählen Sie die Schaltfläche Indexoptimierung deaktivieren aus, um das Feature zu deaktivieren.

    Screenshot: Deaktivieren der Indexoptimierung über die Seite „Indexoptimierung“.

  4. Ü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 auf NONE 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