Thread: preventing the effective fork bomb when restarting a high traffic server?

I have a PG server that handles a pretty good amount of traffic.
Typically the connections are going through pgpool, which is a godsend.

The problem I'm encountering is when I restart PG for whatever reason
it takes it a long time to come back fully online: the reason:  the
machine is dealing with over 100 connection attempts / second while
trying to replay the logical logs.  (And they are always getting the
"system is coming up" message)    (The connection attempts are all from
the pools trying to reconnect up)

Someone on irc suggested perhaps altering pg_hba to disallow
connections from my frontends while it comes back.  I haven't done any
tests on this yet but was wondering if anybody else has had this
experience.

if this isn't the case perhaps it may make sense to delay the creation
of the sockets until after log replay is done. (Afterall, the db is
useless until this happens).

--
Jeff Trout <jeff@jefftrout.com>
http://www.jefftrout.com/
http://www.stuarthamm.net/


Jeff <threshar@torgo.978.org> writes:
> The problem I'm encountering is when I restart PG for whatever reason
> it takes it a long time to come back fully online: the reason:  the
> machine is dealing with over 100 connection attempts / second while
> trying to replay the logical logs.

Um, perhaps you should allow the database to shut down normally, instead
of kill -9 or whatever you're using?  There should not be any log
replay needed after an ordinary restart.

In any case, I think the best solution would be to fix your frontends to
wait a little bit between connection attempts...

            regards, tom lane