From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Andres Freund <andres(at)anarazel(dot)de>, Mithun Cy <mithun(dot)cy(at)enterprisedb(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [HACKERS] Moving relation extension locks out of heavyweight lock manager |
Date: | 2018-04-26 19:08:24 |
Message-ID: | CA+Tgmobf7gw3Ecm8P_Gpy9KKf8+h49TtoLfW_7qUZSefgA3VMw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Apr 26, 2018 at 2:10 AM, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
> Thank you for sharing. That's good to know.
>
> Andres pointed out the performance degradation due to hash collision
> when multiple loading. I think the point is that it happens at where
> users don't know. Therefore even if we make N_RELEXTLOCK_ENTS
> configurable parameter, since users don't know the hash collision they
> don't know when they should tune it.
>
> So it's just an idea but how about adding an SQL-callable function
> that returns the estimated number of lock waiters of the given
> relation? Since user knows how many processes are loading to the
> relation, if a returned value by the function is greater than the
> expected value user can know hash collision and will be able to start
> to consider to increase N_RELEXTLOCK_ENTS.
I don't think that's a very useful suggestion. Changing
N_RELEXTLOCK_ENTS requires a recompile, which is going to be
impractical for most users. Even if we made it a GUC, we don't want
users to have to tune stuff like this. If we actually think this is
going to be a problem, we'd probably better rethink the desgin.
I think the real question is whether the scenario is common enough to
worry about. In practice, you'd have to be extremely unlucky to be
doing many bulk loads at the same time that all happened to hash to
the same bucket.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2018-04-26 19:09:01 | Re: Toast issues with OldestXmin going backwards |
Previous Message | Bruce Momjian | 2018-04-26 18:57:23 | Re: Fwd: [BUGS] pg_trgm word_similarity inconsistencies or bug |