On Fri, Nov 16, 2012 at 12:26 PM, Jeff Janes <jeff.ja...@gmail.com> wrote:
> On Fri, Nov 16, 2012 at 8:21 AM, Merlin Moncure <mmonc...@gmail.com> wrote:
>> On Fri, Nov 16, 2012 at 9:52 AM, Vlad <marche...@gmail.com> wrote:
>>>
>>>> *) failing that, LWLOCK_STATS macro can be compiled in to give us some
>>>> information about the particular lock(s) we're binding on.  Hopefully
>>>> it's a lwlock -- this will make diagnosing the problem easier.
>>>
>>>
>>> I've enabled that macro, seeing flying lwlock messages in the log (see
>>> below), even when there is no high-sys-cpu stall observed at the moment.
>>> Should I be looking for something in particular?
>>
>> We're looking for spikes in 'blk' which represents when lwlocks bump.
>
> Unfortunately LWLock contention is only a weak indication of spinlock
> contention.  For example, if backends are furiously acquiring and
> releasing the same LWLock in shared mode and no one is getting an
> exclusive mode, then there can be high spinlock contention but there
> will never be a blk.

yup.  this problem doesn't smell like lwlock issues.  typically there
the problem manifests as low cpu performance, everybody waits.
classic spinlock contention (at least from what i've seen) is very
high *userspace* cpu utilization and low work output.  this time it's
different -- OP is bogging in the kernel so it's not impossible we're
troubleshooting the symptom, not the cause.

> In 9.3 there is a new field that tells how many spin delays there were
> on the mutex that is behind each lock.  That was  commit
> b79ab00144e64217d41, maybe he can port that back to his version.
>
> But that only tells you about LWLock mutexes, not about all the other
> ones in PG.
>
> The attached patch logs every spin delay with where in the source it comes 
> from.

yeah, OP should fire this off. good stuff.  I'll bet lunch (if we ever
happen to meet) it's on buffer pin.

merlin


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to