Re: Fix checkpoint skip logic on idle systems by tracking LSN progress

Поиск
Список
Период
Сортировка
От David Steele
Тема Re: Fix checkpoint skip logic on idle systems by tracking LSN progress
Дата
Msg-id 30095aea-3910-dbb7-1790-a579fb93fa5e@pgmasters.net
обсуждение исходный текст
Ответ на Re: Fix checkpoint skip logic on idle systems by tracking LSN progress  (Michael Paquier <michael.paquier@gmail.com>)
Ответы Re: Fix checkpoint skip logic on idle systems by tracking LSN progress  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
Список pgsql-hackers
On 9/28/16 10:32 PM, Michael Paquier wrote:
> On Thu, Sep 29, 2016 at 7:45 AM, David Steele <david@pgmasters.net> wrote:
>>
>> In general I agree with the other comments that this could end up being
>> a problem.  On the other hand, since the additional locks are only taken
>> at checkpoint or archive_timeout it may not be that big a deal.
>
> Yes, I did some tests on my laptop a couple of months back, that has 4
> cores. After reducing NUM_XLOGINSERT_LOCKS from 8 to 4 to increase
> contention and performing a bunch of INSERT using 4 clients on 4
> different relations I could not catch a difference.. Autovacuum was
> disabled to eliminate any noise. I tried checkpoint_segments at 30s to
> see its effects, as well as larger values to see the impact with the
> standby snapshot taken by the bgwriter. Other thoughts are welcome.

I don't have any better ideas than that.

>> +++ b/src/backend/postmaster/checkpointer.c
>> +                       /* OK, it's time to switch */
>> +                       elog(LOG, "Request XLog Switch");
>>
>> LOG level seems a bit much here, perhaps DEBUG1?
>
> That's from Horiguchi-san's patch, and those would be definitely
> better as DEBUG1 by looking at it. Now and in order to keep things
> simple I think that we had better discard this patch for now. I was
> planning to come back to this thing anyway once we are done with the
> first problem.

I still see this:

+++ b/src/backend/postmaster/checkpointer.c         /* OK, it's time to switch */
+        elog(LOG, "Request XLog Switch");

> Well for now attached are two patches, that could just be squashed into one.

Yes, I think that makes sense.

More importantly, there is a regression.  With your new patch the xlogs 
are switching on archive_timeout again even with no changes.  The v12 
worked fine.

The differences are all in 0002-hs-checkpoints-v12-2.patch and as far as 
I can see the patch does not work correctly without these changes.  Am I 
missing something?

-- 
-David
david@pgmasters.net



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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Tuplesort merge pre-reading
Следующее
От: Tom Lane
Дата:
Сообщение: Re: "Re: Question about grant create on database and pg_dump/pg_dumpall