Re: [PERFORM] Persistent Connections

2004-04-20 Thread Thomas Swan
Randolf Richardson wrote:

"[EMAIL PROTECTED] (Nick Barr)" stated in 
comp.databases.postgresql.performance:

 

[EMAIL PROTECTED] wrote:
   

[sNip]
 

Sorry I m a little bit confused about the persistent thing!!
Is it smart to use persistent connections at all if i expect 100K 
Users to hit the script in an hour and the script calls up to 10-15 pg 
functions?
I have at the mom one function but the server needs 500 ms, its a 
little bit too much i think, and it crashed when i had 20K users
 

Use the persistent connection but make sure the parameters in 
postgresql.conf match up with the Apache config. The specific settings 
are MaxClients in httpd.conf and max_connections in postgresql.conf. 
Make sure that max_connections is at least as big as MaxClients for 
every database that your PHP scripts connect to.
   

   	Do you happen to have (or know where to get) some sample configuration 
files for Apache 2 and PostgreSQL for this?  The documentation I've found 
so far is pretty sparse, and sample files would be very helpful.

   	
 

Beware that persistent connections in PHP behave a little differently 
than you would think.The connections stays open between an apache 
process and postgres.   So each process has its own connection and you 
may not hit the same process on each request to the apache server.
Temporary tables are not dropped automatically between refreshes on 
persistent connections.  An example of this is to enable persistent 
connections and execute "CREATE TEMPORARY TABLE foo ( id INTEGER );"  

$conn = pg_pconnect( ... );
if (!$result = pg_query($conn, "CREATE TEMPORARY TABLE tmp_foo ( id 
INTEGER );")) {
  echo pg_result_error($result) ;
} else {
  echo "created ok!";
}

After a couple of refreshes you will get an error that states the table 
already exists.   This was a pain to learn, especially while I was doing 
these operations inside of transactions.

On most of my servers the connect time for postgresql was 6ms or less, 
so I disabled persistent connections altogether so that I could be 
assured that temporary tables and all php launched postgresql sessions 
were properly reset.

As far as I know, there is no way to reset the sesssion ( cleaning up 
temporary tables, etc ) automatically with an SQL statement without 
closing the connection

---(end of broadcast)---
TIP 3: 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


Re: [PERFORM] Persistent Connections

2004-01-30 Thread Randolf Richardson
"[EMAIL PROTECTED] (Nick Barr)" stated in 
comp.databases.postgresql.performance:

> [EMAIL PROTECTED] wrote:
[sNip]
>> Sorry I m a little bit confused about the persistent thing!!
>> Is it smart to use persistent connections at all if i expect 100K 
>> Users to hit the script in an hour and the script calls up to 10-15 pg 
>> functions?
>> I have at the mom one function but the server needs 500 ms, its a 
>> little bit too much i think, and it crashed when i had 20K users
> 
> Use the persistent connection but make sure the parameters in 
> postgresql.conf match up with the Apache config. The specific settings 
> are MaxClients in httpd.conf and max_connections in postgresql.conf. 
> Make sure that max_connections is at least as big as MaxClients for 
> every database that your PHP scripts connect to.

Do you happen to have (or know where to get) some sample configuration 
files for Apache 2 and PostgreSQL for this?  The documentation I've found 
so far is pretty sparse, and sample files would be very helpful.

THanks in advance.

-- 
Randolf Richardson - [EMAIL PROTECTED]
Vancouver, British Columbia, Canada

"We are anti-spammers.  You will confirm
subscriptions.  Resistance is futile."

Please do not eMail me directly when responding
to my postings in the newsgroups.

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [PERFORM] Persistent Connections

2004-01-25 Thread Nick Barr
Hi,

[EMAIL PROTECTED] wrote:

Hi

I have a php script and i make a pg_pconnect
If i want to make 4-10 pg_query in that script
Have i to close the connection at end of the script?
(i would say yes, is it right?)


If you want to make multiple pg_query's in a page you can, and you can 
use the same connection. You dont have to use persistent connections for 
this. Just open the connection and fire off the different queries. The 
persistent connection remains open between different pages loading, 
which is supposedly faster because you dont have the overhead of opening 
the connection.

If you want to use a persistent connection then definitely dont close it 
at the bottom of the page. If you want to use the other connection 
(pg_connect, non-persistent) then you dont have to close this connection 
at the bottom of the page because PHP does it for you, although you can 
if you are feeling nice ;-).

Sorry I m a little bit confused about the persistent thing!!
Is it smart to use persistent connections at all if i expect 100K 
Users to hit the script in an hour and the script calls up to 10-15 pg 
functions?
I have at the mom one function but the server needs 500 ms, its a 
little bit too much i think, and it crashed when i had 20K users

Use the persistent connection but make sure the parameters in 
postgresql.conf match up with the Apache config. The specific settings 
are MaxClients in httpd.conf and max_connections in postgresql.conf. 
Make sure that max_connections is at least as big as MaxClients for 
every database that your PHP scripts connect to.

Thanks
Bye




---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
 joining column's datatypes do not match


[PERFORM] Persistent Connections

2004-01-24 Thread postgres
Hi

I have a php script and i make a pg_pconnect
If i want to make 4-10 pg_query in that script
Have i to close the connection at end of the script?
(i would say yes, is it right?)

Sorry I m a little bit confused about the persistent thing!!
Is it smart to use persistent connections at all if i expect 100K Users to hit the script in an hour and the script calls up to 10-15 pg functions?
I have at the mom one function but the server needs 500 ms, its a little bit too much i think, and it crashed when i had 20K users

Thanks
Bye