首页/数据/SQL 速查/只读副本延迟与读写分离注意
性能与执行计划72 条

只读副本延迟与读写分离注意

读副本承担只读流量时要监控复制延迟与一致性:写后立即读可能读到旧数据。

SQL 速查数据更新于 2026-10-12

MySQL

MySQL
SHOW REPLICA STATUS\G
-- 关注延迟字段(旧版本为 SHOW SLAVE STATUS 的 Seconds_Behind_Master)
-- 以及 IO/SQL 线程状态与位点信息

PostgreSQL

PostgreSQL
SELECT client_addr, state, sent_lsn, replay_lsn,
       write_lag, flush_lag, replay_lag
FROM pg_stat_replication;

-- 副本端回放进度
SELECT pg_last_wal_replay_lsn();
读旧数据写后立即到副本读可能不一致;关键读路由主库或等到目标位点
PG 回放冲突回放冲突可能取消查询(max_standby_streaming_delay 控制等待)
延迟来源大事务、DDL、单线程回放、网络与磁盘

易错点

  • 把延迟指标当绝对精确:断连或长时间空闲后该指标会产生误导,需结合位点差判断
  • 读写分离后要求强一致读:这类查询要显式路由主库,而不是指望副本即时同步

数据来源与参考

  • MySQL 8.0 Reference Manual · Replication Implementation
  • PostgreSQL Documentation · Monitoring Replication
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌