Fixed-size pre-warmed pool vs dynamic on-demand pooling for bursty SQL Server workloads
0 reputation · 26 Mar 2020, 07:22 UTC
Design choice is between a fixed-size pre-warmed pool using Min Pool Size and a dynamic on-demand pool with Min Pool Size at zero for a workload with high-concurrency bursts followed by idle periods.
Connection pooling is managed client-side by the ADO.NET provider, not by the SQL Server engine. Pool behavior is governed by Max Pool Size and Min Pool Size in the connection string. A fixed-size pre-warmed approach aims to eliminate connection establishment latency during spikes. A dynamic approach aims to reduce resource consumption on the database during idle periods.
Uncertainty remains about the interaction of Min Pool Size with connection lifetime and pool exhaustion under intermittent load.
What is the documented retention behavior of connections when Min Pool Size is set above zero during idle intervals? How does pool growth toward Max Pool Size behave when concurrent requests arrive faster than connections are returned? Under what conditions does the pooler reuse versus discard idle connections?