On Tue, Nov 30, 2010 at 10:20 AM, Craig Ringer <craig@xxxxxxxxxxxxxxxxxxxxx> wrote:
On 11/30/2010 03:28 PM, Dusan Misic wrote:
 ÂWe're having similar issues on 8.4.[245]... occasionally psql takes
 Âanywhere from a few to several dozen seconds to connect. I've been
 Âunsuccessfully trying to blame spikes in the OS run queue (we
 Âdesperately need some connection pooling) but if it's something to
 Âdo with locks I can't see in pg_locks, that would explain why I
 Âhaven't been able to figure out what's going on yet....
 Â--
 ÂSent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx
 Â<mailto:pgsql-general@xxxxxxxxxxxxxx>)
 ÂTo make changes to your subscription:
 Âhttp://www.postgresql.org/mailpref/pgsql-general
This is normal. PostgreSQL needs to create new server process to handle
your requested connection.
Then it needs to allocate resources to that new connection. It
initializes shared memory for that connection. That is the stall you are
mentioning.
Eh, what?
Forking a backend and attaching to shared memory should *not* take "a few seconds". On my test machine it takes 100ms to fork psql, connect to the postmaster, fork a backend, init the backend, authenticate, run a dummy query and exit psql.
If you're seeing delays like that, your machine is horrifyingly overloaded or there's something else wrong.
--
Craig Ringer
This is not happening to me. Even on my home computer (which is terribly slow single core Sempron 2600+ with 128 kB of L2 cache, 1.5 GB DDR RAM and with slow ATA hard disks) it is fast to connect. Maximum (slowest) connection time is about 500 ms. I did some tuning in postgresql.conf.Â
I'm very happy with PostgreSQL speed on my 'snail' computer. :)Â