Wie behebe ich Skalierungsprobleme mit Aurora Serverless v2?
Ich möchte Skalierungsprobleme mit Amazon Aurora Serverless v2 für die Amazon Aurora PostgreSQL-Compatible Edition beheben.
Kurzbeschreibung
Wenn Aurora Serverless v2 auch ohne Last in der Datenbank nicht auf die Mindestkapazität herunterskaliert, musst du die Parameter auf ihre Standardwerte aktualisieren. Aurora Serverless v2 verwendet Aurora-Kapazitätseinheiten (ACU) zur Messung der Rechenkapazität. Jede ACU entspricht etwa 2 Gibibyte (GiB) Arbeitsspeicher mit den entsprechenden CPU- und Netzwerkressourcen.
Wenn deine Ressourcen zu viele ungenutzte Verbindungen (Idle-Verbindungen) haben oder du über längere Zeiträume eine hohe CPU-Auslastung aufweisen, kannst du nicht auf die maximale Kapazität hochskalieren. Wenn du eine Mindestkapazität von 0,5 ACU konfigurierst und die Auto-Pause-Funktion verwendest, können Kaltstartprobleme auftreten, die zu Timeout-Fehlern bei Verbindungen oder Transaktionen führen.
Lösung
Modifizieren der Mindest-ACU
Wenn du von bereitgestellten Instances zu Serverless-Instances migrierst, überprüfe die Metrik BufferCacheHitRatio der bereitgestellten Instance, um das Verhalten der DB-Instance zu verstehen. Wenn die Metrik nicht stabil ist und in Aurora Serverless abfällt, erhöhe die Mindest-ACUs basierend auf den Anforderungen an die Cache-Leistung des DB-Puffers. Je höher die Mindest-ACU ist, desto schneller kann die Datenbank hochskalieren, um die Anforderungen der Anwendung zu erfüllen. Weitere Informationen findest du unter Auswählen des Kapazitätsbereichs für Aurora Serverless v2 für einen Aurora-Cluster.
Führe die folgenden Schritte aus, um die Mindest-ACU zu konfigurieren:
- Öffne die Amazon-Aurora- und RDS-Konsole.
- Wähle im Navigationsbereich Datenbanken aus.
- Wähle Datenbank erstellen für neue Cluster oder wähle einen vorhandenen Cluster aus und dann Ändern.
- Lege im Abschnitt für die Instance-Konfiguration unter Kapazitätsbereich den Mindest-ACU-Wert fest. Weitere Informationen findest du unter „Kapazitätsbereich“ in Erstellen eines DB-Clusters, der Aurora Serverless v2 verwendet.
Hinweis: Wenn du Database Insights aktiviert hast, empfiehlt es sich, die Minimale Kapazität (ACUs) auf 2 festzulegen. Wenn du globale Datenbanken verwendest, lege die Minimale Kapazität (ACUs) auf 8 fest. Weitere Informationen findest du unter Auswählen der Einstellung für die Mindestkapazität von Aurora Serverless v2 für einen Cluster in Leistung und Skalierung für Aurora Serverless v2.
Ändern der Prioritätsstufe der Reader-Instance
Ungenutzte Writer und Reader von Aurora Serverless v2 können bis auf den Mindest-ACU-Wert herunterskaliert werden, den du für den Cluster angegeben hast. Hintergrundverarbeitung und administrative Aufgaben, die im Backend ausgeführt werden, können dazu führen, dass Serverless-Instances nicht auf die Mindest-ACU herunterskalieren.
Weitere Informationen findest du unter Beheben von Kapazitätsproblemen mit Aurora Serverless v2.
Entfernen von benutzerdefinierten Werten
Datenbankparameter wie max_connections und max_locks_per_transaction wirken sich auf das Skalierungsverhalten aus. Benutzerdefinierte Werte unterstützen keine Datenbanken bei der Skalierung auf die Mindestkapazität. Um benutzerdefinierte Werte für max_connections und max_locks_per_transaction zu entfernen, lege die Parameter auf den Standardwert fest. Starte anschließend die primäre DB-Instance neu.
Verringern des Verbindungsdrucks auf die Datenbank
Verwende zum Verringern des Verbindungsdrucks auf die Datenbank Amazon RDS Proxy, um Connection-Pooling mit Wiederholungslogik und exponentiellem Backoff zu konfigurieren.
Überprüfen von Datenbankabfragen
Um die Last zu reduzieren und die Skalierungsleistung zu verbessern, überprüfe und optimiere regelmäßig die Datenbankabfragen. Führe die PostgreSQL-Befehle ANALYZE und VACUUM aus, um Abfragen zu optimieren. Weitere Informationen findest du unter ANALYZE und Routine Vacuuming auf der PostgreSQL-Website.
Überwachen von CloudWatch-Metriken
Um die tatsächliche ACU-Auslastung zu verfolgen, überwache die Amazon-CloudWatch-Metriken für Aurora Serverless 2: ServerlessDatabaseCapacity, ACUUtilization, CPUUtilization und FreeableMemory. Um proaktive Warnungen bei Skalierungsproblemen mit Aurora Serverless v2 zu erhalten, musst du CloudWatch-Alarme konfigurieren. Wenn sich die Metriken ACUUtilization und CPUUtilization 100 % nähern, verfügt Aurora Serverless v2 über eine unzureichende maximale ACU-Kapazität und extrem hohe Lastbedingungen.
Informationen zum Einrichten von Warnungen für Skalierungsfehler oder längere Zeiträume mit hoher Kapazität findest du unter Erstellen von CloudWatch-Alarmen zur Überwachung von Amazon Aurora.
Festlegen des Werts für Auto-Pause- und Timeout-Konfigurationen
Lege die Werte für automatisches Anhalten und Fortsetzen für Aurora Serverless v2 fest. Stoppe die Datenbank und starte sie neu, um Speicherfragmente zurückzugewinnen, die sich im Laufe der Zeit angesammelt haben könnten.
Hinweis: Wenn du die Datenbank stoppst und neu startest, kommt es zu einer Ausfallzeit der Datenbank.
Weitere Informationen
- Themen
- Database
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor 10 Monaten