Connection Pool Sizing Concepts
Modern web applications all use connection pools as a means to interface with the database. Simultaneously executing Java threads timeshare these connections into the database to get SQL executed. A common issue that we encounter in the real-world is oversizing of the connection pool, especially when these pools are configured to dynamically grow as the workload increases. They then give rise to a phenomenon called “oversubscription”. We will explain in detail what this issue is and how it impacts the behavior of the database server. Next we’ll introduce the underlying concepts that enable us to talk sensibly about connection pools and their sizing. And we’ll provide guidelines how to correctly size your connection pools.