On Tue, Jun 21, 2022 at 4:55 PM Amit Kapila <amit.kapil...@gmail.com> wrote:
>
> On Tue, Jun 21, 2022 at 3:18 PM Andrey Borodin <x4...@yandex-team.ru> wrote:
> >
> > > On 21 Jun 2022, at 12:35, Amit Kapila <amit.kapil...@gmail.com> wrote:
> > >
> > > I wonder if the newly introduced "recovery_prefetch" [1] for PG-15 can
> > > help your case?
> >
> > AFAICS recovery_prefetch tries to prefetch main fork, but does not try to 
> > prefetch WAL itself before reading it. Kirill is trying to solve the 
> > problem of reading WAL segments that are our of OS page cache.
> >
>
> Okay, but normally the WAL written by walreceiver is read by the
> startup process soon after it's written as indicated in code comments
> (get_sync_bit()). So, what is causing the delay here which makes the
> startup process perform physical reads?

That's not always true. If there's a huge apply lag and/or
restartpoint is infrequent/frequent or there are many reads on the
standby - in all of these cases the OS cache can replace the WAL from
it causing the startup process to hit the disk for WAL reading.

Regards,
Bharath Rupireddy.


Reply via email to