Meine Amazon Aurora PostgreSQL-kompatible DB-Instance hat nach einem Upgrade der Hauptversion eine hohe CPU-Auslastung. Vor dem Upgrade hat meine DB-Instance gut funktioniert.
Kurzbeschreibung
Folgen Sie zunächst dem Prozess für wichtige Upgrades bei Aurora PostgreSQL-kompatible Lösungen, um sicherzustellen, dass Ihr Upgrade erfolgreich war. Vor und nach dem Upgrade der Hauptversion müssen Sie mehrere Schritte ausführen. Überprüfen Sie daher, ob Sie den Prozess Schritt für Schritt befolgt haben. Wenn Sie einen der Schritte auslassen, schlägt das Upgrade möglicherweise fehl. Es kann auch zu Leistungseinschränkungen kommen, z. B. durch eine hohe CPU-Auslastung, auch wenn das Upgrade selbst erfolgreich durchgeführt wurde.
Lösung
- Bevor Sie ein Upgrade eines produktiven Aurora PostgreSQL-kompatiblen Clusters auf eine neue Hauptversion durchführen, testen Sie das Upgrade auf einer duplizierten Version Ihrer Produktionsdatenbank. Um eine duplizierte Test-Instance zu erstellen, können Sie entweder die Datenbank von einem aktuellen Snapshot wiederherstellen oder Ihre Datenbank klonen.
- Jede Hauptversion enthält Verbesserungen des Abfrageoptimierers, die die Leistung der Datenbank verbessern sollen. Der DB-Planer/-Optimierer wählt jedoch möglicherweise nicht den optimalsten Plan für die Ausführung Ihrer Abfragen. Infolgedessen kann es zu Leistungsbeeinträchtigungen kommen, wenn Sie die gleichen Abfragen in einer neuen Hauptversion ausführen. Es hat sich daher bewährt, die Leistung Ihrer Abfragen immer zu testen und zu überprüfen, bevor Sie ein Upgrade der Hauptversion durchführen. In Aurora PostgreSQL-kompatiblen Lösungen können Sie die Funktion Query Plan Management (QPM) verwenden, um die Stabilität von Abfrageplänen über verschiedene Hauptversionen hinweg zu verwalten.
- Ein Hauptgrund für die hohe CPU-Auslastung nach einem Upgrade der Hauptversion ist, dass die Statistiken nicht auf dem neuesten Stand sind. Dies liegt daran, dass die Statistikdaten, die im Katalog pg_statistic gespeichert sind, während des Upgrades der Hauptversion nicht übertragen werden. Dadurch wählt der DB-Optimierer möglicherweise nicht den optimalsten Plan für die Ausführung Ihrer Abfragen. Um dieses Problem zu vermeiden, generieren Sie alle Statistiken neu, indem Sie die Operation ANALYZE (ANALYSIEREN) ausführen, um die Tabelle pg_statistic zu aktualisieren. Wiederholen Sie diesen Vorgang für jede Datenbank auf Ihren Aurora PostgreSQL-kompatiblen DB-Instances.
Hinweis: Stellen Sie sicher, dass Sie den Befehl ANALYZE (ANALYSIEREN) ohne Parameter ausführen, um Statistiken für alle regulären Tabellen in der aktuellen Datenbank zu generieren.
ANALYZE VERBOSE
Falls nach Ausführung dieser Schritte Leistungsprobleme auftreten, finden Sie weitere Informationen unter Wie kann ich eine hohe CPU-Auslastung bei Amazon RDS oder Amazon Aurora PostgreSQL beheben?
Ähnliche Informationen
Sicherstellen von Planstabilität nach einem Upgrade der Hauptversion