Work out connection pool size instantly with clear inputs, formula shown and shareable results.
Pool size should follow concurrency, not thread count. Queries in flight is query rate times query duration, so 1,200 queries per second at 8 ms each needs only about 10 concurrent connections. Oversized pools are actively harmful: they let more work reach the database than it can execute, converting fast queueing in the application into slow contention in the database.
Pool sizing
query rate = requests per second x queries per request; concurrent = query rate x query time; pool = ceil(concurrent x 1.5), capped by thread count
No. Beyond the database's own parallelism, extra connections add context switching and lock contention. Small pools with queueing usually give better throughput and much better tail latency.
Pool size multiplied by instance count must stay under the server limit, leaving headroom for administrative sessions and replicas.