From: Bryan Buecking <buecking@gmail.com>
To: Joshua D. Drake <jd@commandprompt.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: CPU bound at 99%
Date: Wed, 23 Apr 2008 00:56:46 +0900
Message-ID: <20080422155640.GD5961@starling-software.com> (raw)
In-Reply-To: <20080422084109.18e4282e@commandprompt.com>
References: <20080422153045.GB5961@starling-software.com>
<20080422084109.18e4282e@commandprompt.com>
On Tue, Apr 22, 2008 at 08:41:09AM -0700, Joshua D. Drake wrote:
> On Wed, 23 Apr 2008 00:31:01 +0900
> Bryan Buecking <buecking@gmail.com> wrote:
>
> > at any given time there is about 5-6 postgres in startup
> > (ps auxwww | grep postgres | grep startup | wc -l)
> >
> > about 2300 connections in idle
> > (ps auxwww | grep postgres | idle)
> >
> > and loads of "FATAL: sorry, too many clients already" being logged.
> >
> > The server that connects to the db is an apache server using
> > persistent connections. MaxClients is 2048 thus the high number of
> > connections needed. Application was written in PHP using the Pear DB
> > class.
>
> Sounds like your pooler isn't reusing connections properly.
The persistent connections are working properly. The idle connections
are expected given that the Apache child process are not closing them
(A la non-persistent). The connections do go away after 1000 requests
(MaxChildRequest).
I decided to move towards persistent connections since prior to
persistent connections the idle vs startup were reversed.
--
Bryan Buecking http://www.starling-software.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: buecking@gmail.com, jd@commandprompt.com
Subject: Re: CPU bound at 99%
In-Reply-To: <20080422155640.GD5961@starling-software.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox