Misurazione del ritardo di replica tra i membri pgactive - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Misurazione del ritardo di replica tra i membri pgactive

È possibile utilizzare la seguente query per visualizzare il ritardo di replica tra i membri. pgactive Esegui questa query su ogni pgactive nodo per ottenere il quadro completo.

app=> SELECT * FROM pgactive.pgactive_get_replication_lag_info(); │-[ RECORD 1 ]--------+--------------------------------------------- │node_name | node2-app │node_sysid | 7481018224801653637 │application_name | pgactive:7481018224801653637:send │slot_name | pgactive_16385_7481018224801653637_0_16385__ │active | t │active_pid | 783486 │pending_wal_decoding | 0 │pending_wal_to_apply | 0 │restart_lsn | 0/2108150 │confirmed_flush_lsn | 0/2154690 │sent_lsn | 0/2154690 │write_lsn | 0/2154690 │flush_lsn | 0/2154690 │replay_lsn | 0/2154690 │-[ RECORD 2 ]--------+--------------------------------------------- │node_name | node1-app │node_sysid | 7481018033434600853 │application_name | pgactive:7481018033434600853:send │slot_name | pgactive_16385_7481018033434600853_0_16385__ │active | t │active_pid | 783488 │pending_wal_decoding | 0 │pending_wal_to_apply | 0 │restart_lsn | 0/20F5AD0 │confirmed_flush_lsn | 0/214EF68 │sent_lsn | 0/214EF68 │write_lsn | 0/214EF68 │flush_lsn | 0/214EF68 │replay_lsn | 0/214EF68

Monitora almeno la seguente diagnostica:

attiva

Imposta avvisi quando active è false, il che indica che lo slot non è attualmente in uso (l'istanza del sottoscrittore si è disconnessa dall'editore).

pending_wal_decoding

Nella replica logica di PostgreSQL, i file WAL vengono archiviati in formato binario. L'editore deve decodificare queste modifiche WAL e convertirle in modifiche logiche (come operazioni di inserimento, aggiornamento o eliminazione).

La metrica pending_wal_decoding mostra il numero di file WAL in attesa di essere decodificati sul lato dell'editore.

Questo numero può aumentare a causa dei seguenti fattori:

  • Quando l'abbonato non è connesso, lo stato attivo sarà falso e pending_wal_decoding aumenterà

  • Lo slot è attivo, ma l'editore non riesce a tenere il passo con il volume delle modifiche WAL

pending_wal_to_apply

La metrica pending_wal_apply indica il numero di file WAL in attesa di essere applicati sul lato dell'abbonato.

Diversi fattori possono impedire al sottoscrittore di applicare le modifiche e potenzialmente causare uno scenario su disco pieno:

  • Differenze nello schema: ad esempio, quando si apportano modifiche nel flusso WAL per una tabella denominata sample, ma tale tabella non esiste sul lato dell'abbonato

  • I valori nelle colonne chiave primarie sono stati aggiornati

  • Gli indici univoci secondari possono causare divergenze tra i dati