Postgres' recovery_prefetch kann durch IOPS-Amplifikation Ausfälle verursachen

Postgres recovery_prefetch can cause outages

Der Artikel zeigt, wie recovery_prefetch in Postgres bei synchroner Replikation zu Ausfällen führt: Große sequenzielle I/O auf dem Primary wird auf Standbys in 8k-Zufallslesevorgänge umgewandelt, was die IOPS um bis zu 16x erhöht. In Kombination mit Full Page Writes und dem Standby-State-Machine-Mechanismus kann ein kurzer Netzwerkausfall dazu führen, dass der Standby stundenlang nicht wieder auf Streaming umschaltet und alle Schreibvorgänge blockiert. Der Autor reproduziert das Problem zuverlässig und empfiehlt, recovery_prefetch zu deaktivieren.

Die Lese-IOPS-Amplifikation in Kombination mit dem Design von Postgres für synchrone Replikation macht recovery_prefetch zu einem echten ausfallverursachenden Killer.

Mehr von diesem Tag

2026-10-22