HeadlinesBriefing HeadlinesBriefing.com

Postgres recovery_prefetch 导致宕机

Hacker News •
×

现场事件揭示,PostgreSQL `recovery_prefetch` 功能可能导致生产环境宕机,尤其在同步复制设置中。问题源于不必要的预取调用,当共享缓冲区从 WAL 全页写入(FPW)而非磁盘加载时,会导致物理备库出现显著的重放滞后。2021 年和 2025 年的历史邮件列表讨论曾提出担忧,但缺乏完整诊断。核心问题是 IOPS 放大:主库上的大量顺序 I/O 被转换为副本上的 8k 随机读取,耗尽可用 IOPS 并导致副本滞后。同步复制的常见使用用于数据保护,这使问题雪上加霜。禁用 `recovery_prefetch` 可解决该问题。该功能旨在提高恢复性能,却在现代高可用性环境中引入不稳定性。

来源: Hacker News · 由HeadlinesBriefing整理摘要