Skip to content

Performance Benchmarks

Automated Benchmark Results

Last updated: 2026-02-04 08:38 UTC

These benchmarks are automatically generated by the CI pipeline using pgbench.

Test Environment

  • Pool size: 40 connections
  • Test duration: 30 seconds per test
  • Instance: AWS Fargate (16 vCPU, 32 GB RAM)
  • Workers: pg_doorman: 12, odyssey: 12
  • pgbench jobs: 4 (global override)
  • Started: 2026-02-04 07:15:48 UTC
  • Finished: 2026-02-04 08:38:55 UTC
  • Total duration: 1h 23m 7s

Legend

  • +N%: pg_doorman is N% faster than competitor (e.g., +10% means pg_doorman is 10% faster)
  • -N%: pg_doorman is N% slower than competitor (e.g., -10% means pg_doorman is 10% slower)
  • ≈0%: Equal performance (difference less than 3%)
  • : Competitor failed (0 TPS), pg_doorman wins
  • N/A: Test not supported by this pooler
  • -: Test not executed

Simple Protocol

Test vs pgbouncer vs odyssey
1 client -5% -10%
40 clients +37% -41%
120 clients x3.0 -7%
500 clients x2.8 ≈0%
10,000 clients x2.8 +20%
1 client + Reconnect ≈0% x3.5
40 clients + Reconnect +21% x2.4
120 clients + Reconnect +21% x2.1
500 clients + Reconnect +21% x2.2
10,000 clients + Reconnect +67% x3.3
1 client + SSL -7% -11%
40 clients + SSL +69% -30%
120 clients + SSL x3.3 -4%
500 clients + SSL x3.3 +3%
10,000 clients + SSL x3.4 +19%

Extended Protocol

Test vs pgbouncer vs odyssey
1 client ≈0% +33%
40 clients +49% -11%
120 clients x3.0 +43%
500 clients x2.9 +55%
10,000 clients x2.9 +80%
1 client + Reconnect ≈0% x10.5
40 clients + Reconnect +21% x2.7
120 clients + Reconnect +22% x2.3
500 clients + Reconnect +21% x2.1
10,000 clients + Reconnect +68% x2.2
1 client + SSL ≈0% +33%
40 clients + SSL +72% ≈0%
120 clients + SSL x3.4 +48%
500 clients + SSL x3.5 +61%
10,000 clients + SSL x3.5 +82%
1 client + SSL + Reconnect +6% +11%
40 clients + SSL + Reconnect +94% ≈0%
120 clients + SSL + Reconnect +92% ≈0%
500 clients + SSL + Reconnect +96% ≈0%
10,000 clients + SSL + Reconnect +90% ≈0%

Prepared Protocol

Test vs pgbouncer vs odyssey
1 client -8% -13%
40 clients +70% -42%
120 clients x3.7 -10%
500 clients x3.4 ≈0%
10,000 clients x3.4 +21%
1 client + Reconnect ≈0%
40 clients + Reconnect ≈0%
120 clients + Reconnect +4%
500 clients + Reconnect +6%
10,000 clients + Reconnect +28%
1 client + SSL ≈0% -8%
40 clients + SSL +97% -34%
120 clients + SSL x3.9 -7%
500 clients + SSL x4.0 +5%
10,000 clients + SSL x4.0 +22%

Notes

  • Odyssey has poor support for extended query protocol in transaction pooling mode, resulting in significantly lower performance compared to pg_doorman and pgbouncer
  • Important: The values shown are relative performance ratios, not absolute TPS numbers. While absolute TPS values may vary depending on hardware and system load, the relative ratios between poolers should remain consistent when tests are run sequentially in a short timeframe (30 seconds each). This allows for fair comparison across different connection poolers under identical conditions