On Wed, 2006-09-27 at 00:22, Najib Abi Fadel wrote:
> What is the problem with pg_pconnect and is pgpool easy to use with an
> already running application ?
> Should i expect a major performance boost ? 

pg_pconnect isn't "pooling" per se.  In pooling, a large number of
processes share a small number of connections.  I.e. 200 php processes
would access the database by sharing 20 or 30 connections per database
accessed.  So, if you had 3 databases, each would have 20 or so
connections to it, and the 200 odd php processes would have to wait for
a free connection or would error out depending on how pooling was set
up.  Note that php doesn't directly support this type of pooling, like
jdbc does.

pg_pconnect creates a persistent connection for each database accessed
by each process.  So, if you had the same three databases and 200 php
processes that all, at one time or another, hit each of those databases,
your database would need to manage 600 connections.

This makes it very easy to DOS your database server with too many
connections.

Pgpool is VERY easy to use, and gets rid of most of the overhead of
starting a connection (backend process creation) by holding open x
number of connections for you all the time.  Therefore, the real cost of
pg_connect over pg_pconnect goes away, and you can simply use pg_connect
to the pgpool process.

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to