Re: PANIC caused by open_sync on Linux

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: PANIC caused by open_sync on Linux
Дата
Msg-id 9648.1193402089@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: PANIC caused by open_sync on Linux  (Greg Smith <gsmith@gregsmith.com>)
Ответы Re: PANIC caused by open_sync on Linux  ("Jonah H. Harris" <jonah.harris@gmail.com>)
Re: PANIC caused by open_sync on Linux  (Andrew Sullivan <ajs@crankycanuck.ca>)
Re: PANIC caused by open_sync on Linux  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
Greg Smith <gsmith@gregsmith.com> writes:
> On Fri, 26 Oct 2007, ITAGAKI Takahiro wrote:
>> Mixed usage of buffered and direct i/o is legal, but enforces complexity 
>> to kernels. If we simplify it, things would be more relaxed. For 
>> example, dropping zero-filling and only use direct i/o. Is it possible?

> It's possible, but performance suffers considerably.  I played around with 
> this at one point when looking into doing all database writes as sync 
> writes.  Having to wait until the entire 16MB WAL segment made its way to 
> disk before more WAL could be written can cause a nasty pause in activity, 
> even with direct I/O sync writes.  Even the current buffered zero-filled 
> write of that size can be a bit of a drag on performance for the clients 
> that get caught behind it, making it any sort of sync write will be far 
> worse.

This ties into a loose end we didn't get to yet: being more aggressive
about creating future WAL segments.  ISTM there is no good reason for
clients ever to have to wait for WAL segment creation --- the bgwriter,
or possibly the walwriter, ought to handle that in the background.  But
we only check for the case once per checkpoint and we don't create a
segment unless there's very little space left.
        regards, tom lane


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

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: Re: 8.2.3: Server crashes on Windows using Eclipse/Junit
Следующее
От: Sebastien FLAESCH
Дата:
Сообщение: Re: PostgreSQL 8.3, libpq and WHERE CURRENT OF