Monitorar o atraso de replicação para réplicas de leitura do MySQL
Para as réplicas de leitura do MySQL, você pode monitorar o atraso da replicação no Amazon CloudWatch visualizando a métrica ReplicaLag
do Amazon RDS. A métrica ReplicaLag
relata o valor do campo Seconds_Behind_Master
do comando SHOW REPLICA
STATUS
.
nota
As versões anteriores do MySQL usavam SHOW SLAVE STATUS
em vez de SHOW REPLICA STATUS
. Se você estiver usando uma versão do MySQL anterior à 8.0.23, use SHOW SLAVE STATUS
.
As causas comuns para o atraso da replicação do MySQL são as seguintes:
-
Uma queda de rede.
-
Gravação em tabelas com índices diferentes em uma réplica de leitura. Se o parâmetro
read_only
estiver definido como0
na réplica de leitura, a replicação poderá ser interrompida se a réplica de leitura torna-se incompatível com a instância de banco de dados de origem. Depois de realizar tarefas de manutenção na réplica de leitura, recomendamos que você defina o parâmetroread_only
de volta para1
. -
Uso de um mecanismo de armazenamento não transacional, como o MyISAM. A replicação só é compatível com o mecanismo de armazenamento InnoDB no MySQL.
Quando a métrica ReplicaLag
chega a 0, isso mostra que a réplica alcançou a instância do banco de dados de origem. Se a métrica ReplicaLag
retornar -1, então a replicação não está ativa no momento. ReplicaLag
= -1 é equivalente a Seconds_Behind_Master
= NULL
.