Skip site navigation (1) Skip section navigation (2)

Re: What is wrong with pg_pconnect() ?

From: "Rod K" <rod(at)23net(dot)net>
To: "Sylvain Ross" <jfk(at)fleming(dot)u-psud(dot)fr>,"scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com>
Cc: <pgsql-php(at)postgresql(dot)org>
Subject: Re: What is wrong with pg_pconnect() ?
Date: 2003-12-15 23:17:45
Message-ID: KNEPILBLIADCDMMPIKIKCEHDDNAA.rod@23net.net (view raw or flat)
Thread:
Lists: pgsql-php


> -----Original Message-----
> From: pgsql-php-owner(at)postgresql(dot)org
> [mailto:pgsql-php-owner(at)postgresql(dot)org]On Behalf Of Sylvain Ross
> Sent: Monday, December 15, 2003 5:54 PM
> To: scott.marlowe
> Cc: pgsql-php(at)postgresql(dot)org
> Subject: Re: [PHP] What is wrong with pg_pconnect() ?
>
>
> Oh, sorry pal, I were convinced that the child process were
> destroyed after
> the keepalived connection has died.
>
> In fact what happens with apache is (if I have understand correctly) :
>
> - The apache child process (pid 8888) is created with "Client A" connected
> on it.
>
> - if "Client A" don't query the server for 15 secondes (keepalive
> timeout),
> "Client A" is disconnected from the apache child process, pid
> 8888. BUT the
> apache child process 8888 is still alive waiting for connections ?

Yes

>
> - If "client A" had launched a script using a pconnect() call, a
> connection
> has been created beetween a pgsql process and process 8888.

Yes

>
> - a new client "Client B" now connects itself to apache process 8888 (why
> this process and not another living idling apache process ? :)),

That's controlled by the root apache process.  It may or may not be a
different process.

> I guess any
> similar pconnect will use the already existing pgsql connection.

Only in the same apache child.

>
>
> I wish I'm right !
>
> Thx in advance.
>
> Sylvain.
>
> -----Message d'origine-----
> De : pgsql-php-owner(at)postgresql(dot)org
> [mailto:pgsql-php-owner(at)postgresql(dot)org]De la part de scott.marlowe
> Envoye : lundi 15 decembre 2003 22:55
> A : Sylvain Ross
> Cc : pgsql-php(at)postgresql(dot)org
> Objet : Re: [PHP] What is wrong with pg_pconnect() ?
>
>
>
> As Rod pointed out, you likely aren't having dead apache children, just
> too many.
>
> IF you must have pconnects in your code, then you need to configure your
> apache server and postgresql server so that the postgresql server can
> spawn more children than the apache server.
>
> Set MaxClients in httpd.conf to something MUCH lower than the default
> of 150.  Usually 20 to 50 will be plenty.  Restart apache.
>
> Then, set postgresql to handle at least 2x as many backends as with the
> max_connections setting and restart it.
>
> Now, you should be able to handle pconnects.
>
> My personal testing has shown my dual PIII-750 (being retired at the end
> of the month) can handle about 1,000 to 10,000 pg_connects a second, and
> about 100,000 to 1,000,000 pg_pconnects a second.  Since the average page
> build / delivery time on our intranet server is around 0.5 to 1.5 seconds,
> the speed of connections is pretty much noise.  We have templating,
> database accesses, and httpd authentication via LDAP on each page, and the
> biggest eater of CPU time is the httpd->LDAP authentication, followed by
> the templating, followed by the database layer.  I.e. Postgresql and its
> connections are the least of our worries. :-0
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
>       message can get through to the mailing list cleanly
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
>       message can get through to the mailing list cleanly
> >



In response to

pgsql-php by date

Next:From: NoelDate: 2003-12-16 07:58:17
Subject: Re: Cancel a query when user leaves a web page
Previous:From: Sylvain RossDate: 2003-12-15 22:54:17
Subject: Re: What is wrong with pg_pconnect() ?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group