Re: Challenges with huge postgresql deployments in 300+ TBs

From: Manu <manuelreyesbravo(at)gmail(dot)com>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Cc: kavya chandren <kavyachandren(at)gmail(dot)com>, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Subject: Re: Challenges with huge postgresql deployments in 300+ TBs
Date: 2026-10-09 18:04:58
Message-ID: 179156909812.373782.3765533734963931820@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Kavya,

> 3. Fixing a standby that lags a lot

Of the operational walls, this is the one I would size before
committing rather than after, so I put together a small harness that
turns it into a number: it loads indexed data, pauses replay to
separate WAL generation from replay, then times pure replay from local
WAL and reports MB/s with a 95% CI and a lag curve. About 15 minutes
on a couple hundred MB, and it refuses assert-enabled builds so the
timing is real:

https://github.com/Manuelreyesbravo/standby-replay-ceiling

The numbers are hardware-specific -- one laptop core replays around
190 MB/s here, CPU-bound. The point is to run it on a subset of your
intended storage and CPU and get your own ceiling before building the
full system, which matches Adrian's start-from-a-test-setup
suggestion; whether one replay core keeps up then depends on how much
WAL your write workload generates.

It measures that wall, it does not move it. Happy to adjust it if your
setup would test differently.

Regards,
Manu

In response to

Browse pgsql-general by date

  From Date Subject
Next Message 2026-10-12 08:47:45 pg_event_trigger_ddl_commands after GRANT is quite empty
Previous Message Adrian Klaver 2026-10-08 19:41:37 Re: Challenges with huge postgresql deployments in 300+ TBs