Greetings,
* Jeff Janes (jeff.janes@gmail.com) wrote:
> One way I found to speed up restore_command is to have another program run
> a few WAL files ahead of it, copying the WAL from the real archive into a
> scratch space which is on the same filesystem as pg_xlog/pg_wal. Then have
> restore_command simply move (not copy) the requested files from the scratch
> space onto %p. The intra-filesystem move completes much faster than a copy.
Right, that can definitely be a big help and is more-or-less what
pgbackrest does too.
> If it spends time waiting for blocks that need to be recovered into to get
> read from disk, and you have enough RAM, you could speed it up by
> pre-warming the file system cache. Something like:
>
> tar -cf - $PGDATA | wc -c
Yeah, that's also a good idea. We've discussed having something in
pgbackrest to basically go pre-load things off disk in advance of WAL
replay, and I seem to recall someone had also written an external tool
to do that.
Thanks!
Stephen