MySQL Seconds_Behind_Master とレプリケーション監視
MySQL の Seconds_Behind_Master はレプリケーションの遅延具合を手軽に確認できる指標ですが、いくつか問題もあるようです。
公式ドキュメントでは次の制限が示されています。
- ネットワークが遅い環境では有用な指標ではない
また、MySQL 5.5, 5.6 のドキュメントでは次のようにも書かれています。
- Slave I/O スレッドが Master からのイベントをキューイングしている最中では、0と比較的大きな数字の間を行き来することがある
また、いくつかバグ報告もなされています。 上位のバージョンでは修正されているものもあります。
このバグは Seconds_Behind_Master が異常に大きな値になるというもので、どうやら MySQL 5.1 ではパッチ適用されていないようです。
こうした状況を考慮すると、監視の精度が要求されるケースでは Seconds_Behind_Master を使うよりもタイムスタンプを記録する監視用のテーブルを用意するなどした方が無難かもしれません。