Skip to content
ClickHouse·

🚀PgBouncer Fleet Boosts Throughput to 336k TPS

Your PgBouncer setup just got faster and more efficient

TL;DR

Running multiple PgBouncer processes on a multi-core machine can boost transaction throughput to over 300k TPS. This setup also cuts CPU utilization in half compared to single-process configurations.

PgBouncer now supports running fleets of processes on multi-core machines, significantly boosting performance and efficiency. Developers should care because this setup can handle up to 336k transactions per second with a fleet of 16 processes, while a single process peaks at around 87k TPS before degrading under load. The key numbers: a single PgBouncer process reaches only 9% CPU utilization, whereas the fleet hits roughly 52%, spreading the load across cores and preventing Postgres oversubscription.

PgBouncer Fleet Boosts Throughput to 336k TPS — ClickHouse

Key Points

1

A single PgBouncer process peaks at around 87k transactions per second before degrading under load

2

Running a fleet of 16 processes boosts throughput to roughly 336k transactions per second, using multiple cores efficiently

3

The CPU utilization drops from 9% for a single-process setup to about 52% for the fleet configuration

4

Pooling runs in transaction mode, returning server connections to the pool when a transaction commits without oversubscribing Postgres

5

ClickHouse Managed Postgres ships with this multi-core PgBouncer setup by default

Why It Matters

If you're running high-concurrency workloads on PgBouncer, splitting your load across multiple cores can nearly quadruple throughput. For instance, a fleet of 16 processes reaches roughly 336k TPS compared to the single-process peak of 87k TPS. Smaller databases might not see as much benefit due to overhead, but larger workloads will definitely notice.

PgBouncermulti-corethroughputperformance

Frequently Asked Questions

Why does this matter?

If you're running high-concurrency workloads on PgBouncer, splitting your load across multiple cores can nearly quadruple throughput. For instance, a fleet of 16 processes reaches roughly 336k TPS compared to the single-process peak of 87k TPS. Smaller databases might not see as much benefit due to overhead, but larger workloads will definitely notice.

What happened?

Running multiple PgBouncer processes on a multi-core machine can boost transaction throughput to over 300k TPS. This setup also cuts CPU utilization in half compared to single-process configurations.

Comments

Subscribe to join the conversation...

Be the first to comment

Enjoyed this article?

Get it daily. 7am. Free. Reads in 5 minutes.

Also get