Re: WAL and commit_delay
| От | Tom Lane |
|---|---|
| Тема | Re: WAL and commit_delay |
| Дата | |
| Msg-id | 4356.982435582@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | WAL and commit_delay (Bruce Momjian <pgman@candle.pha.pa.us>) |
| Ответы |
Re: WAL and commit_delay
Re: WAL and commit_delay Re: WAL and commit_delay |
| Список | pgsql-hackers |
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> With the delay, it looks like:
> time backend 1 backend 2
> ---- --------- ---------
> 0 write()
> 1 sleep() write()
> 2 fsync() sleep()
> 3 fsync()
Actually ... take a close look at the code. The delay is done in
xact.c between XLogInsert(commitrecord) and XLogFlush(). As near
as I can tell, both the write() and the fsync() will happen in
XLogFlush(). This means the delay is just plain broken: placed
there, it cannot do anything except waste time.
Another thing I am wondering about is why we're not using fdatasync(),
where available, instead of fsync(). The whole point of preallocating
the WAL files is to make fdatasync safe, no?
regards, tom lane
В списке pgsql-hackers по дате отправления: