Re: measuring lwlock-related latency spikes

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема Re: measuring lwlock-related latency spikes
Дата
Msg-id CAMkU=1xa9DBbscMUVyD+2KNAFLAAmTO+1dqQwPzJvei97SA7YQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: measuring lwlock-related latency spikes  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Mon, Apr 2, 2012 at 12:04 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> Long story short, when a CLOG-related stall happens,
>> essentially all the time is being spent in this here section of code:
>
>>     /*
>>      * If not part of Flush, need to fsync now.  We assume this happens
>>      * infrequently enough that it's not a performance issue.
>>      */
>>     if (!fdata) // fsync and close the file
>
> Seems like basically what you've proven is that this code path *is* a
> performance issue, and that we need to think a bit harder about how to
> avoid doing the fsync while holding locks.

And why is the fsync needed at all upon merely evicting a dirty page
so a replacement can be loaded?

If the system crashes between the write and the (eventual) fsync, you
are in the same position as if the system crashed while the page was
dirty in shared memory.  Either way, you have to be able to recreate
it from WAL, right?


Cheers,

Jeff


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

Предыдущее
От: "Greg Sabino Mullane"
Дата:
Сообщение: Re: libxml related crash on git head
Следующее
От: Robert Haas
Дата:
Сообщение: Re: measuring lwlock-related latency spikes