Re: How to cripple a postgres server - Mailing list pgsql-general

From Stephen Robert Norris
Subject Re: How to cripple a postgres server
Date
Msg-id 1022556496.2670.30.camel@ws12
Whole thread Raw
In response to Re: How to cripple a postgres server  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: How to cripple a postgres server
List pgsql-general
On Tue, 2002-05-28 at 13:21, Tom Lane wrote:
> Stephen Robert Norris <srn@commsecure.com.au> writes:
> > On Tue, 2002-05-28 at 12:44, Tom Lane wrote:
> >> Hmm, you mean if the 800 other connections are *not* idle, you can
> >> do VACUUMs with impunity?  If so, I'd agree we got a bug ...
>
> > Yes, that's what I'm saying.
>
> Fascinating.
>
> > I suspect the comment near the async_notify code explains the problem -
> > where it talks about idle backends having to be woken up to clear out
> > pending events...
>
> Well, we need to do that, but your report seems to suggest that that
> code path isn't getting the job done completely --- my first guess is
> that a new normal query has to arrive before a SIGUSR2'd backend is
> completely happy again.  Interesting.
>
> You didn't specify: what PG version are you running, and on what
> platform?
>
>             regards, tom lane

Sorry, forgot that.

PG 7.1 or 7.2 (both have the problem) on linux 2.2.x (x>=17) and 2.4.x
(4 <= x <= 18).

I've tried a variety of intel machines (and AMD machines) and managed to
reproduce the same problem.

To clarify my comments, I suspect the problem is that all 800 of the
backends get the SIGUSR2 at the same time, and all wake up, causing the
kernel scheduler to go mad trying to decide which one to schedule... If
the connections aren't idle, the queue never fills up enough to require
the signals...

    Stephen

Attachment

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: How to cripple a postgres server
Next
From: Tom Lane
Date:
Subject: Re: How to cripple a postgres server