Re: [HACKERS] PHP and PostgreSQL

From: Karl DeBisschop <karl(at)debisschop(dot)net>
To:
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>, PostgreSQL-interfaces <pgsql-interfaces(at)postgreSQL(dot)org>
Subject: Re: [HACKERS] PHP and PostgreSQL
Date: 2000-12-27 16:45:04
Message-ID: 3A4A1C90.B8E939E5@debisschop.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-interfaces

Matthew wrote:
>
> I have been asked by the major PHP developer Rasmus Lerdorf to see
> if
> the PostgreSQL/PHP interface needs any improvements.
>
> Is the current PostgreSQL interface module in PHP adequate? Does it
> support all the current libpq features?
>
> The only problem we have run into (and I have heard of others having this
> problem also) is with persistent connections. I have seen discussion on
> persistent connection problems but I'm not sure the problem was ever
> resolved. The problem we have seen is that when using persistent
> connections the web server doesn't seen to reuse the connections or somthing
> to that effect. The result being that we eventually use up our postgres
> limit of 48 connections and nothing can connect to postgre anymore. It is
> possible that this is a configuration problem that we haven't sufficiently
> investigated, but I meniton it because I have heard other talk of this.
> Anyone have more information?

Persistent connections behave exactly as advertised. Each apache process
sets up and maintains persistent connections as needed. The problem is
that for a typical web server, there are so many subprocesses that
persistent connections are probably consume more resources than they
save, unless they are combined with connection pooling across ALL the
apache processes.

Implementation of connection pooling is by far the most serious
shortcoming of the current implementation, IMHO.

I would dearly love to see this addressed as our postgresql database
sees connections from about 300 servers for 6 databases. Since our
postgresql server cannot support 1800 simultaneous active backends,
persistent connections are useless without pooling. So instead we
initiate 10 or more backends every second for generally very simple
queries. Most of the queries are pretty simple, so I would not be at all
surprised if we sent more system resources opening connections than we
do actually answering queries

--
Karl DeBisschop kdebisschop(at)alert(dot)infoplease(dot)com
Learning Network/Information Please http://www.infoplease.com
Netsaint Plugin Developer kdebisschop(at)users(dot)sourceforge(dot)net

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Frank Joerdens 2000-12-27 17:03:39 Re: PHP and PostgreSQL
Previous Message Thomas Lockhart 2000-12-27 16:42:09 Re: About PQsetClientEncoding(),"SET NAMES",and "SETCLIENT_ENCODING"

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tim Barnard 2000-12-27 16:45:15 RE: PQsetnonblocking
Previous Message Thomas Lockhart 2000-12-27 16:38:29 Re: textcat() and ODBC driver