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