MySQL リードレプリカのレプリケーションラグのモニタリング
MySQL のリードレプリカでは、Amazon CloudWatch で Amazon RDS の ReplicaLag
メトリクスを確認することでレプリケーションの遅延をモニタリングできます。ReplicaLag
メトリクスには、Seconds_Behind_Master
コマンドの SHOW REPLICA
STATUS
フィールドの値が報告されます。
注記
MySQL の旧バージョンは、SHOW SLAVE STATUS
ではなく SHOW REPLICA STATUS
を使用していました。8.0.23 より前の MySQL バージョンを使用している場合は、SHOW SLAVE STATUS
を使用します。
MySQL のレプリケーション遅延の一般的な原因は以下のとおりです。
-
ネットワークが停止している。
-
リードレプリカとインデックスが異なるテーブルに書き込んでいる。リードレプリカで、
read_only
パラメータが0
に設定されている場合、リードレプリカとソースの DB インスタンスの互換性がなくなると、レプリケーションが中断する可能性があります。リードレプリカのメンテナンスタスクを実行したら、read_only
パラメータは1
に戻すことをお勧めします。 -
MyISAM などの非トランザクションストレージエンジンを使用している。レプリケーションは、MySQL 上の InnoDB ストレージエンジンでのみサポートされます。
ReplicaLag
メトリックが 0 に達すると、レプリカがソース DB インスタンスに追いついています。ReplicaLag
メトリクスにより -1 が返された場合、レプリケーションは現在アクティブではありません。ReplicaLag
= -1 は Seconds_Behind_Master
= NULL
と同等です。