Medición del retraso de réplica entre miembros de pgactive - Amazon Relational Database Service

Medición del retraso de réplica entre miembros de pgactive

Puede utilizar la siguiente consulta para ver el retraso de réplica entre los miembros de pgactive. Ejecute esta consulta en todos los nodos de pgactive para obtener una idea completa.

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

Supervise los siguientes diagnósticos como mínimo:

activa

Configure alertas cuando el valor activo sea falso, lo que indica que la ranura no está en uso actualmente (la instancia del suscriptor se ha desconectado del publicador).

pending_wal_decoding

En la replicación lógica de PostgreSQL, los archivos WAL se almacenan en formato binario. El publicador debe decodificar estos cambios de WAL y convertirlos en cambios lógicos (como operaciones de inserción, actualización o eliminación).

La métrica pending_wal_decoding muestra el número de archivos WAL que esperan que los descodifique el publicador.

Este número puede aumentar debido a estos factores:

  • Cuando el suscriptor no esté conectado, el estado activo será falso y pending_wal_decoding aumentará

  • La ranura está activa, pero el publicador no puede mantenerse al día con el volumen de cambios de WAL

pending_wal_to_apply

La métrica pending_wal_apply indica el número de archivos WAL que esperan aplicarse en el suscriptor.

Varios factores pueden impedir que el suscriptor aplique los cambios y potencialmente causar un escenario de disco lleno:

  • Diferencias de esquema: por ejemplo, cuando hay cambios en el flujo de WAL de una tabla llamada ejemplo, pero esa tabla no existe en el suscriptor

  • Se actualizaron los valores en las columnas de la clave principal

  • Los índices únicos secundarios pueden provocar divergencias en los datos