Re: persistent vs. non-persistent

From: Frank Joerdens <frank(at)joerdens(dot)de>
To: pgsql-php(at)postgresql(dot)org
Subject: Re: persistent vs. non-persistent
Date: 2001-10-02 09:21:17
Message-ID: 20011002112117.A31207@rakete.joerdens.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

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

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Andrew McMillan 2001-10-02 10:27:07 Re: persistent vs. non-persistent
Previous Message Mitch Vincent 2001-10-01 22:56:37 Re: persistent vs. non-persistent