Intelligente Optimierung in Azure Database for PostgreSQL – Flexibler Server

Azure Database for PostgreSQL – flexibler Server enthält eine intelligente Optimierungsfunktion, die die Leistung automatisch verbessert und dabei hilft, Probleme zu vermeiden. Intelligente Optimierung überwacht kontinuierlich den Status Ihrer Azure Database for PostgreSQL flexiblen Serverdatenbank und passt die Datenbank dynamisch an Ihre Workload an.

Dieses Feature umfasst zwei automatische Optimierungsfunktionen:

  • Autovacuum tuning: Diese Funktion ist veraltet und wird durch das neuere adaptive autovacuum ersetzt.
  • Schreibvorgangsoptimierung: Diese Funktion überwacht das Volumen und die Muster von Schreibvorgängen. Es ändert Parameter, die sich auf die Schreibleistung auswirken. Diese Anpassungen verbessern sowohl die Systemleistung als auch die Zuverlässigkeit und können potenzielle Komplikationen proaktiv abwenden.

Erfahren Sie, wie Sie intelligente Optimierung konfigurieren.

Warum intelligentes Tuning verwenden?

Die Optimierung von Schreibvorgängen innerhalb der Datenbank ist ein wichtiger Bestandteil der Aufrechterhaltung der Integrität und Leistung eines Azure Database for PostgreSQL flexiblen Servers. Datenbankadministratoren führen diese Aufgabe in der Regel aus. Die ständige Überwachung einer Datenbank und die Optimierung der Schreibvorgänge kann schwierig und zeitaufwändig sein. Diese Aufgabe wird zunehmend komplexer, wenn Sie mit mehreren Datenbanken zu tun haben.

Intelligente Optimierung vereinfacht diesen Prozess. Anstatt Ihre Datenbank manuell zu überwachen und zu optimieren, verwenden Sie intelligente Optimierung, um die Datenbank automatisch zu überwachen und zu optimieren. Sie können sich dann auf andere wichtige Aufgaben konzentrieren.

Die Schreiboptimierungsfunktion beobachtet die Menge und Transaktionsmuster von Schreibvorgängen. Parameter wie bgwriter_delay, checkpoint_completion_target, max_wal_size und min_wal_size werden intelligent angepasst. Auf diese Weise wird die Systemleistung und -zuverlässigkeit auch bei hoher Schreiblast verbessert.

Wenn Sie intelligente Optimierungen verwenden, sparen Sie wertvolle Zeit und Ressourcen, indem Sie sich auf Ihren Azure Database for PostgreSQL flexiblen Server verlassen, um die optimale Leistung Ihrer Datenbanken aufrechtzuerhalten.

Wie funktioniert die intelligente Optimierung?

Intelligente Optimierung ist ein fortlaufender Überwachungs- und Analyseprozess, der über die Merkmale Ihrer Workload informiert. Außerdem werden Ihre aktuelle Auslastung und Ressourcennutzung, wie CPU oder IOPS, verfolgt. Der normale Betrieb Ihrer Anwendungsworkload wird dadurch nicht gestört.

Der Prozess ermöglicht es der Datenbank, sich dynamisch an Ihre Workload anzupassen, indem die aktuelle Schreibleistung und Prüfpunkteffizienz auf Ihrem Server erkannt werden. Mithilfe dieser Erkenntnisse stellt intelligente Optimierung Optimierungsaktionen bereit, die die Leistung Ihrer Workload verbessern und potenzielle Fallstricke vermeiden.

Optimierung der Schreibvorgänge

Die intelligente Optimierung passt vier Parameter im Zusammenhang mit der Optimierung der Schreibvorgänge an: bgwriter_delay, checkpoint_completion_target, max_wal_size und min_wal_size.

Der bgwriter_delay Parameter bestimmt, wie oft der Hintergrund-Writer-Prozess aufwacht, um "schmutzige" Puffer zu bereinigen (Puffer, die neu oder geändert sind). Der Hintergrund-Writer-Prozess ist einer von drei Prozessen in einem Azure Database for PostgreSQL flexiblen Server, der Schreibvorgänge verarbeitet. Die anderen Prozesse sind der Prüfpunktprozess und Back-End-Schreibvorgänge (Standardclientprozesse, z. B. Anwendungsverbindungen).

Die primäre Rolle des Hintergrundschreibprozesses besteht darin, den Hauptprüfpunktprozess zu entlasten und die Belastung durch Back-End-Schreibvorgänge zu verringern. Der Parameter bgwriter_delay steuert die Häufigkeit von Hintergrundschreibrunden. Durch Anpassen dieses Parameters können Sie die Leistung von DML-Abfragen (Data Manipulation Language) optimieren.

Der checkpoint_completion_target Parameter ist Teil des zweiten Schreibmechanismus, den ein Azure Database for PostgreSQL flexiblen Server unterstützt, insbesondere den Prüfpunktprozess. Prüfpunkte treten in konstanten, von checkpoint_timeout definierten Intervallen auf (sofern nicht durch Überschreitung des konfigurierten Speicherplatzes erzwungen). Um zu vermeiden, dass das E/A-System bei einer Zunahme von Seitenschreibvorgängen überlastet wird, wird das Schreiben schmutziger Puffer während eines Prüfpunkts über einen bestimmten Zeitraum verteilt. Der Parameter checkpoint_completion_target steuert diese Dauer, indem er checkpoint_timeout verwendet, um die Dauer als Bruchteil des Prüfpunktintervalls anzugeben.

Der Standardwert von checkpoint_completion_target beträgt 0,9 (seit PostgreSQL 14). Dieser Wert ist im Allgemeinen am besten geeignet, weil er die E/A-Last über den maximalen Zeitraum verteilt. In seltenen Fällen werden Checkpoints aufgrund von unerwarteten Schwankungen in der Anzahl der benötigten Write-Ahead-Logging(WAL)-Segmente möglicherweise nicht rechtzeitig abgeschlossen. Aufgrund der potenziellen Auswirkungen auf die Leistung ist checkpoint_completion_target eine Zielmetrik für die intelligente Optimierung.

Einschränkungen und bekannte Probleme

  • Die intelligente Optimierung nimmt Optimierungen nur in bestimmten Bereichen vor. Es ist möglich, dass das Feature keine Änderungen vorgibt.
  • Die intelligente Optimierung passt die ANALYZE-Einstellungen nicht an.