From: | Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com> |
---|---|
To: | Simon Riggs <simon(dot)riggs(at)2ndquadrant(dot)com> |
Cc: | Claudio Freire <klaussfreire(at)gmail(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Faster inserts with mostly-monotonically increasing values |
Date: | 2018-03-14 13:33:58 |
Message-ID: | CABOikdNSw-f0=RLm_oR0Zqi31K-ko+WOMjcku60GPu752X3-hQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Mar 14, 2018 at 4:53 PM, Simon Riggs <simon(dot)riggs(at)2ndquadrant(dot)com>
wrote:
> On 14 March 2018 at 04:36, Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>
> wrote:
> > I wonder if the shortened code path actually leads to
> > heavier contention for EXCLUSIVE lock on the rightmost page, which in
> turn
> > causes the slowdown. But that's just a theory. Any ideas how to prove or
> > disprove that theory or any other pointers?
>
> Certainly: dropping performance with higher sessions means increased
> contention is responsible. Your guess is likely correct.
>
> Suggest making the patch attempt a ConditionalLock on the target
> block, so if its contended we try from top of index. So basically only
> attempt the optimization if uncontended. This makes sense because in
> many cases if the block is locked it is filling up and the RHS block
> is more likely to change anyway.
Hmm. I can try that. It's quite puzzling though that slowing down things
actually make them better.
I can also try to reduce the amount of time EX lock is held by doing some
checks with a SHARE lock and then trade it for EX lock if we conclude that
fast path can be taken. We can do page lsn check to confirm nothing changed
when the lock was traded. Will check both approaches.
Thanks,
Pavan
--
Pavan Deolasee http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | David Steele | 2018-03-14 13:38:10 | Re: PATCH: Unlogged tables re-initialization tests |
Previous Message | Ildus Kurbangaliev | 2018-03-14 13:31:23 | Re: [HACKERS] Custom compression methods |