okie.floyd
okie.floyd

Reputation: 231

postgres connections exceeding max_connections?

we are running a very connection-heavy, insert-heavy postgres database (to the point that we should've done some connection pooling, but there's no time now).

when doing some troubleshooting, i was using netstat to show me how many connections there were to postgres. i would commonly see more than what i had specified in the postgres.conf file (via max_connections).

i would see 1400-1600 connections via netstat even though i had max_connections set to 1000.

anyone have any clue what is going on? how exactly can this happen?

any insight on this would be great.

Upvotes: 2

Views: 3480

Answers (2)

Frank Heikens
Frank Heikens

Reputation: 127556

Use a connectionpool. More than a 1000 connections will slow down the database significantly and even for a 1000 connections you need some $$$$$ hardware with a lot of cores and RAM. Using a connectionpool is much more efficient.

Upvotes: 0

user330315
user330315

Reputation:

Is it possible that those connections were already closed? Windows for example doesn't immediately close the connection, but it changes it state to "TIME_WAITING.

So the connections show up in netsat but are actually closed.

Only those that show up as "ESTABLISHED" are "live" connections.

Btw: you can simply put a connection pooler in front of your PostgreSQL server without changing your application. pgPool (or pgBouncer) will pretend they are a real PostgreSQL server to the application and will do the pooling "behind its back"

Upvotes: 2

Related Questions