Re: Apache + PHP + Postgres Interaction - Mailing list pgsql-general

From Max Zorloff
Subject Re: Apache + PHP + Postgres Interaction
Date
Msg-id op.txi0i4yoll0p5y@1-rtt202dnf3uds.mshome.net
Whole thread Raw
In response to Re: Apache + PHP + Postgres Interaction  (Bill Moran <wmoran@potentialtech.com>)
List pgsql-general
On Thu, 23 Aug 2007 21:29:46 +0400, Bill Moran <wmoran@potentialtech.com>
wrote:

> In response to "Joshua D. Drake" <jd@commandprompt.com>:
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Max Zorloff wrote:
>> > Hello.
>> >
>> > I have a subject setup and a few questions.
>> >
>> > The first one is this. PHP establishes a connection to the Postgres
>> > database through pg_pconnect().
>>
>> Don't use pconnect. Use pgbouncer or pgpool.
>>
>> > Then it
>> > runs some query, then the script returns, leaving the persistent
>> > connection hanging. But the trouble
>> > is that in this case any query takes significantly more time to
>> execute
>> > than in the case of one PHP script
>> > running the same query with different parameters for N times. How can
>> I
>> > achieve the same performance in the first
>> > case? Persistent connections help but not enough - the queries are
>> still
>> > 10 times slower than they would be on
>> > the 2nd time.
>>
>> Well you haven't given us any indication of data set or what you are
>> trying to do. However, I can tell you, don't use pconnect, its broke ;)
>
> Broke?  How do you figure?
>
> I'm not trying to argue the advantages of a connection pooler such as
> pgpool, but, in my tests, pconnect() does exactly what it's supposed
> to do: reuse existing connections.  In our tests, we saw a 2x speed
> improvement over connect().  Again, I understand that pgpool will do
> even better ...
>
> Also, I'm curious as to whether he's timing the actual _query_ or the
> entire script execution.  If you're running a script multiple times
> to get multiple queries, most of your time is going to be tied up in
> PHP's parsing and startup -- unless I misunderstood the question.
>

I'm timing it with the php gettimeofday(). And I'm timing the actual
pg_query()
run time, excluding db connection and everything else.

pgsql-general by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: PostgreSQL vs Firebird feature comparison finished
Next
From: Lewis Cunningham
Date:
Subject: Re: PostgreSQL vs Firebird feature comparison finished