From: | "Jeffrey D(dot) Brower" <jeff(at)pointhere(dot)net> |
---|---|
To: | "Nikk Anderson" <Nikk(dot)Anderson(at)parallel(dot)ltd(dot)uk>, <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: Large difference between elapsed time and run time |
Date: | 2003-03-11 14:53:45 |
Message-ID: | 011d01c2e7de$0451c960$0b02a8c0@pointhere.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
RE: [PERFORM] Large difference between elapsed time and run timeYes, this helps a lot. Obviously this is far more complicated than just a simple pg_pconnect to accomplish a speedy reply. I really thought that a persistent connection was supposed to eliminate the overhead time in a connection (well, other than the first time through). But even if I am the only person on the machine it still takes forever to get a response every time I use http. I wondered if I was supposed to have a php program that had its own pconnect and every http call to the PostgreSQL database went to that php program rather than handling it by itself, but I found no indication of that while RTFM. I will give this a try and see if I can get the speed to anything reasonable. Thanks for the quick reply!
Jeff
----- Original Message -----
From: Nikk Anderson
To: 'Jeffrey D. Brower' ; pgsql-performance(at)postgresql(dot)org
Sent: Tuesday, March 11, 2003 9:30 AM
Subject: Re: [PERFORM] Large difference between elapsed time and run time
Hi,
-----Original Message-----
From: Jeffrey D. Brower [mailto:jeff(at)pointhere(dot)net]
Sent: 11 March 2003 14:24
To: Nikk Anderson; 'Scott Buchan'; pgsql-performance(at)postgresql(dot)org
Subject: Re: [PERFORM] Large difference between elapsed time and run time
>My question is how are you accomplishing the connection pooling?
I have programmed a connection pool in Java - I am sure something similar is possible in most other languages.
Very basically, the concept is as follows:
> Application initialisation
>>> 1) Create X number of connections to the database
>>> 2) Store connections in an Object
>>> 3) Create an array of free and busy connections - put all new connections in free connection array
>>> 4) Object is visible to all components of web application
> Request for a connection
>>> 4) Code asks for a connection from the pool object (3).
>>> 5) Pool object moves connection from free array, to the busy array.
>>> 5) Connection is used to do queries
>>> 6) Connection is sent back to pool object (3).
>>> 7) Pool object moves the connection from the busy array, back to the free array
I hope that helps!
Nikk
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Buchan | 2003-03-11 18:23:21 | Re: Large difference between elapsed time and run time for queries |
Previous Message | Nikk Anderson | 2003-03-11 14:30:45 | Re: Large difference between elapsed time and run time |