A database connection pool is a cache of open database connections that an application borrows and returns instead of opening a new connection for every request.
Why it matters
Opening a connection involves a network handshake, authentication, and server memory, which is costly at high request rates. Databases also limit the number of simultaneous connections, so unbounded connections from many app servers can exhaust them and trigger errors like "too many connections". A pool keeps the count bounded and steady.
Example
app servers: 10 x pool size: 20 = 200 connections
database max_connections: 250
If you scale to 15 app servers, you reach 300 and exceed the limit. Poolers such as PgBouncer or ProxySQL sit in front of the database to multiplex many clients over fewer connections.
Common mistakes
- Setting a large pool on every instance without multiplying by instance count.
- Not releasing connections after use, causing a leak that slowly starves the pool.
- Making the pool bigger to fix slowness, when the real cause is slow queries holding connections.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
यह पेज सामान्य जानकारी है, जिसे हमारी संपादकीय टीम ने लिखा है और दस्तावेज़ीकरण बदलने पर अपडेट किया जाता है। सर्वर और प्रदाता अलग-अलग होते हैं, इसलिए बदलाव पहले सुरक्षित तरीके से जाँचें। देखें: संपादकीय नीति और अस्वीकरण.