On Thu, Aug 27, 2020 at 8:48 PM Jakub Wartak <jakub.war...@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


Reply via email to