Re: Handing off SLRU fsyncs to the checkpointer - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: Handing off SLRU fsyncs to the checkpointer
Date
Msg-id CA+hUKG+YuMHnyYg9qqAUBY2fajqvuCChTWLtVeU=Lhfnb20WRQ@mail.gmail.com
Whole thread Raw
In response to Re: Handing off SLRU fsyncs to the checkpointer  (Jakub Wartak <Jakub.Wartak@tomtom.com>)
Responses Re: Handing off SLRU fsyncs to the checkpointer  (Jakub Wartak <Jakub.Wartak@tomtom.com>)
List pgsql-hackers
On Thu, Aug 27, 2020 at 8:48 PM Jakub Wartak <Jakub.Wartak@tomtom.com> wrote:
> >>     29.62%  postgres  [kernel.kallsyms]   [k] copy_user_enhanced_fast_string
> >>             ---copy_user_enhanced_fast_string
> >>                |--17.98%--copyin
> >> [..]
> >>                |          __pwrite_nocancel
> >>                |          FileWrite
> >>                |          mdwrite
> >>                |          FlushBuffer
> >>                |          ReadBuffer_common
> >>                |          ReadBufferWithoutRelcache
> >>                |          XLogReadBufferExtended
> >>                |          XLogReadBufferForRedoExtended
> >>                |           --17.57%--btree_xlog_insert
> >
> > To move these writes out of recovery's way, we should probably just
> > run the bgwriter process during crash recovery.  I'm going to look
> > into that.
>
> Sounds awesome.

I wrote a quick and dirty experimental patch to try that.  I can't see
any benefit from it on pgbench with default shared buffers, but maybe
it would do better with your append test due to locality, especially
if you can figure out how to tune bgwriter to pace itself optimally.
https://github.com/macdice/postgres/tree/bgwriter-in-crash-recovery



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: SQL-standard function body
Next
From: Peter Eisentraut
Date:
Subject: Re: Support for OUT parameters in procedures