【问题澄清】
- 通过 query-status 查看任务同步进度,发现其不是实时更新,如何更好的监控延迟情况呢?
【知识点引入】
- query status 看到的 sync binlog 实际上是从 checkpoint 表读取的,这个表记录的 flushed binlog position 只有 dml 的情况下默认超过 30s 才更新,实际同步的位置可能已经是最新了
【问题解决】
- 目前如果要准确监控同步延迟,在 DM 上游连接 mysql 主库的情况下,可以开启 heartbeat,开启 heartbeat 后,不会影响到 query-status 这里的状态,需要通过 binlog replication 1 中的 replicate lag 监控复制延迟**