Tuesday, May 13, 2008

Re: [GENERAL] DB Connections in TIME_WAIT state

John Gateley <gateley@jriver.com> writes:
> Hi, I'm using the Pg perl module to connect to Postgresql 8.1
> via localhost (127.0.0.1) from webscripts. I'm noticing a lot
> of TIME_WAIT socket connections:

> tcp 0 0 127.0.0.1:39291 127.0.0.1:5432 TIME_WAIT
> tcp 0 0 127.0.0.1:60720 127.0.0.1:5432 TIME_WAIT
> tcp 0 0 127.0.0.1:60735 127.0.0.1:5432 TIME_WAIT
> tcp 0 0 127.0.0.1:60769 127.0.0.1:5432 TIME_WAIT
> tcp 0 0 127.0.0.1:39281 127.0.0.1:5432 TIME_WAIT
> ...

This seems like a kernel bug to me. The TCP stack ought to know it
doesn't need any shutdown delay on a local connection.

> I think the number is high enough (200~250) that sometime the
> server runs out of sockets.

Maybe you need to stop using so many connections --- quite aside
from any kernel issues, a database session isn't exactly cheap
to launch. Consider some form of connection pooling.

regards, tom lane

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

No comments: