Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überwachung des Write-Through-Cache und der logischen Steckplätze für die logische Aurora SQL Postgre-Replikation
Überwachen Sie den Write-Through-Cache für die logische Replikation und verwalten Sie logische Steckplätze, um die Leistung Ihres Aurora Postgre-DB-Clusters zu verbessern. SQL Im Folgenden finden Sie weitere Informationen zum Write-Through-Cache und zu den logischen Steckplätzen.
Themen
Überwachung des Write-Through-Cache für die SQL logische Replikation von Aurora Postgre
Standardmäßig verwenden Aurora SQL Postgre-Versionen 14.5, 13.8, 12.12 und 11.17 und höher einen Write-Through-Cache, um die Leistung für die logische Replikation zu verbessern. Ohne den Write-Through-Cache SQL verwendet Aurora Postgre die Aurora-Speicherschicht bei der Implementierung des systemeigenen logischen SQL Postgre-Replikationsprozesses. Dazu werden WAL Daten in den Speicher geschrieben und dann aus dem Speicher zurückgelesen, um sie zu dekodieren und an ihre Ziele (Abonnenten) zu senden (zu replizieren). Dies kann zu Engpässen bei der logischen Replikation für Aurora Postgre-DB-Cluster führen. SQL
Der Write-Through-Cache minimiert die Abhängigkeit von der Aurora-Speicherschicht. Anstatt konsistent auf diese Ebene zu schreiben und von ihr zu lesen, SQL verwendet Aurora Postgre einen Puffer, um den logischen WAL Stream zwischenzuspeichern, damit er während des Replikationsprozesses verwendet werden kann. Dadurch wird der Festplattenzugriff reduziert. Dieser Puffer ist der native SQL Postgre-Cache, der bei der logischen Replikation verwendet wird und in den Aurora SQL Postgre-DB-Clusterparametern als identifiziert wird. rds.logical_wal_cache
Wenn Sie logische Replikation mit Ihrem Aurora SQL Postgre-DB-Cluster verwenden (für die Versionen, die den Write-Through-Cache unterstützen), können Sie die Cache-Trefferquote überwachen, um zu sehen, wie gut sie für Ihren Anwendungsfall funktioniert. Stellen Sie dazu mithilfe der Aurora-Funktion eine Verbindung zur Schreibinstanz Ihres Aurora SQL Postgre-DB-Clusters her psql
und verwenden Sie sie dannaurora_stat_logical_wal_cache
, wie im folgenden Beispiel gezeigt.
SELECT * FROM aurora_stat_logical_wal_cache();
Die Funktion gibt beispielsweise die folgende Ausgabe zurück.
name | active_pid | cache_hit | cache_miss | blks_read | hit_rate | last_reset_timestamp
-----------+------------+-----------+------------+-----------+----------+--------------
test_slot1 | 79183 | 24 | 0 | 24 | 100.00% | 2022-08-05 17:39...
test_slot2 | | 1 | 0 | 1 | 100.00% | 2022-08-05 17:34...
(2 rows)
Die last_reset_timestamp
-Werte wurden aus Gründen der Lesbarkeit gekürzt. Weitere Informationen zu dieser Funktion finden Sie unter aurora_stat_logical_wal_cache.
Aurora Postgre SQL bietet die folgenden zwei Funktionen zur Überwachung des Write-Through-Cache.
Die
aurora_stat_logical_wal_cache
-Funktion – Die Referenzdokumentation finden Sie unter aurora_stat_logical_wal_cache.Die
aurora_stat_reset_wal_cache
-Funktion – Die Referenzdokumentation finden Sie unter aurora_stat_reset_wal_cache.
Wenn Sie feststellen, dass die automatisch angepasste WAL Cachegröße für Ihre Workloads nicht ausreicht, können Sie den Wert für manuell ändern. rds.logical_wal_cache
Berücksichtigen Sie dabei Folgendes:
-
Wenn der
rds.logical_replication
Parameter deaktiviert ist,rds.logical_wal_cache
wird er auf Null (0) gesetzt. -
Wenn der
rds.logical_replication
Parameter aktiviert ist,rds.logical_wal_cache
hat er einen Standardwert von 16 MB. -
Der
rds.logical_wal_cache
Parameter ist statisch und erfordert einen Neustart der Datenbankinstanz, damit die Änderungen wirksam werden. Dieser Parameter ist in Form von 8-KB-Blöcken definiert. Beachten Sie, dass jeder positive Wert unter 32 KB als 32 KB behandelt wird. Weitere Informationen finden Siewal_buffers
unter Write Ahead Login der SQL Postgre-Dokumentation.
Verwaltung logischer Steckplätze für Aurora Postgre SQL
Streaming-Aktivitäten werden in der pg_replication_origin_status
-Ansicht erfasst. Wenn Sie den Inhalt dieser Ansicht anzeigen möchten, können Sie die pg_show_replication_origin_status()
-Funktion verwenden, wie im Folgenden gezeigt:
SELECT * FROM pg_show_replication_origin_status();
Mit der folgenden SQL Abfrage können Sie eine Liste Ihrer logischen Steckplätze abrufen.
SELECT * FROM pg_replication_slots;
Zum Löschen eines logischen Slots können Sie den pg_drop_replication_slot
mit dem Namen des Slots verwenden, wie im folgenden Befehl gezeigt.
SELECT pg_drop_replication_slot('test_slot');