PgBouncerを4倍高速化:ClickHouse Managed Postgresのスケーリング戦略

We scaled PgBouncer to 4x throughput

PgBouncerを4倍高速化:ClickHouse Managed Postgresのスケーリング戦略

PgBouncerはシングルスレッドのため、1プロセスでは1コアしか使えず、16 vCPUのマシンでもスループットが頭打ちになります。ClickHouse Managed Postgresでは、複数のPgBouncerプロセスをコア数に応じて起動し、`so_reuseport`で同じポートを共有させ、カーネルが接続を分散させます。さらに、ピアリングによりキャンセル要求を正しいプロセスに転送します。ベンチマークでは、単一プロセスが約87k TPSで頭打ちになるのに対し、フリート構成では約336k TPS(約4倍)を達成。CPU使用率も最大8コアまで活用し、接続上限もフリート全体で管理できます。

単一プロセスは約87kトランザクション/秒でピークに達し、その後は負荷が増えると悪化して、256クライアント時には77kまで低下します。フリートは約336kトランザクション/秒まで上昇し、約4倍の性能を発揮します。

この日のほかの記事

2026-07-11