On Tue, 2002-05-28 at 11:57, Tom Lane wrote:
> Stephen Robert Norris <srn@commsecure.com.au> writes:
> > 1) Open many (I used 800) database connections and leave them idle.
> > 2) run: while true; do vacuum {database} ; done
>
> > Wait. Observe db has stopped doing useful work.
>
> Is your machine capable of supporting 800 active backends in the absence
> of any vacuum processing? I'm not sure that "we're driving our server
> into swapping hell" qualifies as a Postgres bug ...
>
> If you're seeing load peaks in excess of what would be observed with
> 800 active queries, then I would agree there's something to investigate
> here.
>
> regards, tom lane
Yep, indeed with 800 backends doing a query every second, nothing
happens.
The machine itself has 1GB of RAM, and uses no swap in the above
situation. Instead, system time goes to 99% of CPU. The machine is a
dual-CPU athlon 1900 (1.5GHz).
It _only_ happens with idle connections!
Stephen