RE: Speed up the removal of WAL files

Поиск
Список
Период
Сортировка
От Tsunakawa, Takayuki
Тема RE: Speed up the removal of WAL files
Дата
Msg-id 0A3221C70F24FB45833433255569204D1F8FE802@G01JPEXMBYT05
обсуждение исходный текст
Ответ на Re: Speed up the removal of WAL files  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: Speed up the removal of WAL files
Список pgsql-hackers
From: Michael Paquier [mailto:michael@paquier.xyz]
> On Wed, Mar 07, 2018 at 12:55:43AM +0900, Fujii Masao wrote:
> > So, what about, as another approach, making the checkpointer instead
> > of the startup process call RemoveNonParentXlogFiles() when
> > end-of-recovery checkpoint is executed? ISTM that a recovery doesn't
> > need to wait for
> > RemoveNonParentXlogFiles() to end. Instead, RemoveNonParentXlogFiles()
> > seems to have to complete before the checkpointer calls
> > RemoveOldXlogFiles() and creates .ready files for the "garbage" WAL files
> on the old timeline.
> > So it seems natual to leave that WAL recycle task to the checkpointer.
> 
> Couldn't that impact the I/O performance at the end of recovery until the
> first post-recovery checkpoint is completed?  Let's not forget that since
> 9.3 the end-of-recovery checkpoint is not triggered immediately, so there
> could be a delay.  If WAL segments of the past timeline are recycled without
> waiting for this first checkpoint to happen then there is no need to create
> new, zero-emptied, segments post-recovery, which can count as well.

Good point.  I understood you referred to PreallocXlogFiles(), which may create one new WAL file if
RemoveNonParentXlogFiles()is not called or does not recycle WAL files in the old timeline.
 

The best hack (or a compromise/kludge?) seems to be:

1. Modify durable_xx() functions so that they don't fsync directory hanges when enableFsync is false.

2. RemoveNonParentXlogFiles() sets enableFsync to false before the while loop, restores the original value of it after
thewhile loop, and fsync pg_wal/ just once.
 
What do you think?


Regards
Takayuki Tsunakawa





В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrey Borodin
Дата:
Сообщение: Re: [WIP PATCH] Index scan offset optimisation using visibility map
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: Add default role 'pg_access_server_files'