Re: persistent vs. non-persistent - Mailing list pgsql-php

From Adam Lang
Subject Re: persistent vs. non-persistent
Date
Msg-id 009401c14cd4$b5eefa40$330a0a0a@rutgersinsurance.com
Whole thread Raw
In response to persistent vs. non-persistent  (Martín Marqués <martin@bugs.unl.edu.ar>)
List pgsql-php
You are correct.  It is not max per Apache, but max per child process.

Adam Lang
Systems Engineer
Rutgers Casualty Insurance Company
http://www.rutgersinsurance.com
----- Original Message -----
From: "Frank Joerdens" <frank@joerdens.de>
To: <pgsql-php@postgresql.org>
Sent: Tuesday, October 02, 2001 5:21 AM
Subject: Re: [PHP] persistent vs. non-persistent


> On Mon, Oct 01, 2001 at 06:56:37PM -0400, Mitch Vincent wrote:
> > I'm not sure about the internal workings, I see what you mean and will
await
> > your finding with great interest!
> >
> > -Mitch
>
> [ . . . ]
> > > I don't understand why apache (or PHP) doesn't see that it has a
> > persistent
> > > database connection open to use.
> > >
> > > I'm checking the PHP PGSQL extensions at this moment.
> > > More info later....
> > >
> > > Saludos.... ;-)
>
> I keep having problems too; I think because I never quite managed to
> figure out the mechanism either. Sometime last year someone mentioned
> that the php.ini parameters
>
> pgsql.max_links
> pgsql.max_persistent
>
> are meant to be understood as /per Apache child/; so if you have, say, 5
> Apache children waiting for a request, and
>
> pgsql.max_persistent = 2
>
> you could have up to 10 open connections. If an apache child which does
> not have an open connection gets a request, it will open a new
> connection, obviously. So if 4 of the 5 Apache children have open
> connections, but the 5th gets the next request, a new connection will be
> opened. I am not sure about what happens when a child which already has
> an open connection gets a new request. Hypothesis: It depends on the
> database. Say you have 3 distinct databases on your server and your
> php.ini parameter
>
> pgsql.max_persistent = 2
>
> Now let's say you have 10 open Apache children, each of which has a
> connection to databases #1 and #2. Now requests to databases #1 and #2
> will be answered, but not to #3: You'll get the error message:
>
> Warning: PostgreSQL: Too many open persistent links (2)
>
> My tests seem to confirm this.
>
> It would seem to follow that you only need as many persistent
> connections per Apache child as you have databases from which you want
> to serve http requests.
>
> Regards, Frank
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>




pgsql-php by date:

Previous
From: Andrew McMillan
Date:
Subject: Re: persistent vs. non-persistent
Next
From: "Adam Lang"
Date:
Subject: Re: persistent vs. non-persistent