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
-