On 2013-09-26 16:56:30 -0700, Peter Geoghegan wrote:
> On Thu, Sep 26, 2013 at 3:55 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> > We have had several customers running postgres on bigger machines report
> > problems on busy systems. Most recently one where a fully cached
> > workload completely stalled in s_lock()s due to the *shared* lwlock
> > acquisition in BufferAlloc() around the buffer partition lock.
>
> That's unfortunate. I saw someone complain about what sounds like
> exactly the same issue on Twitter yesterday:
Well, fortunately there's a solution, as presented here ;)
There's another bottleneck in the heaps of PinBuffer() calls in such
workloads, that present themselves after fixing the lwlock contention,
at least in my tests. I think I see a solution there, but let's fix this
first though ;)
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services