PgBouncer skaliert auf das 4-fache: ClickHouse Managed Postgres setzt auf Prozess-Flotte
We scaled PgBouncer to 4x throughput

PgBouncer ist single-threaded und nutzt nur einen CPU-Kern. In ClickHouse Managed Postgres läuft deshalb eine Flotte von PgBouncer-Prozessen, die sich einen Port per so_reuseport teilen. Der Kernel verteilt die Verbindungen, Peering leitet Cancel-Requests korrekt weiter. In Benchmarks erreicht die Flotte auf einer 16-vCPU-Instanz rund 336.000 Transaktionen pro Sekunde – etwa das Vierfache eines einzelnen Prozesses (87.000). Die CPU-Auslastung steigt von unter 10 % auf rund 50 %, und die Verbindungslimits werden über die Flotte aufgeteilt, um Postgres nicht zu überlasten.
Ein einzelner PgBouncer ist ein guter Standard, bis der Pooler – und nicht Postgres – den Durchsatz begrenzt.