Just use https://github.com/yandex/odyssey :) It's a scalable PgBouncer.
Side note: I’m not a big fan of having 10K+ connections on Postgres, 100s are more than enough to scale Postgres well. But that’s a story for another day. ;)
11–20 of 67 posts
Just use https://github.com/yandex/odyssey :) It's a scalable PgBouncer.
Side note: I’m not a big fan of having 10K+ connections on Postgres, 100s are more than enough to scale Postgres well. But that’s a story for another day. ;)
I've been using pgdog ( https://github.com/pgdogdev/pgdog ) and it has worked really well for my needs!
Just use https://github.com/yandex/odyssey :) It's a scalable PgBouncer.
I've been using pgdog ( https://github.com/pgdogdev/pgdog ) and it has worked really well for my needs!
I've been using pgdog ( https://github.com/pgdogdev/pgdog ) and it has worked really well for my needs!
First time I've heard of so_reuseport, which is interesting. The important parts of the setup seem to be that + peering; is peering built-in to PgBouncer and simple to set up?
I gather things haven't improved since?
I'm 46 now. I remember being shocked at Postgres's heavy connection model when I was 23. I gather things haven't improved since?
However, if pooling isn’t used, there’s always an overhead (tens of milliseconds or more) when creating a new connection because Postgres needs to fork a process. And yes, applications can be written without pooling, which isn’t ideal, but happens quite a lot.
Application frameworks have also changed. Serverless architectures can generate tens of thousands of connections, which is where Postgres starts to run into issues. I’m personally not a big fan of using more than a few hundred connections, but it is very realistic in this era.
Interesting. We run pgbouncer via kubernetes so it was straightforward to make multiple pgbouncer processes on one machine. Also straightforward to get them running on multiple machines, which helps because we run on Azure and they like to cause rolling outages across our fleet via VM maintenance...
Ack, makes sense. I’m very curious on how this affects throughput due to a potential extra network hop from pgbouncer to Postgres. Expecting it to have a minor difference, but still curious.