18 Ağustos 2026 Salı

DRCP - Database Resident Connection Pooling

Giriş
Açıklaması şöyle
Postgres uses a process-per-connection model. Every single connection spawns its own OS backend process, each eating a few MB of memory. So when a crashing service kept reconnecting, we weren't just opening connections. We were forking processes that nobody cleaned up. (Death by a thousand forks, basically.)

The usual fix in the Postgres world is an external pooler like PgBouncer, which sits between your app and the database and multiplexes many clients onto a small set of reused connections.
But here's what I found interesting: Oracle solved this inside the database itself. DRCP (Database Resident Connection Pooling) keeps a shared pool of server processes, so idle connections release their process instead of hoarding it, letting the DB scale to tens of thousands of connections without drowning in memory.