^^^ +1. You spend A LOT of resources for each connection on your typical DB server. I do remember that we used to have very up-scale Oracle instance which was used by a cluster of around 20 app servers each keeping 100 connections (for a total a couple of thouthand) and that was the max Oracle server was able to handle (memory-wise). So you just configure your conn pool for 100 connections and you can just as well have a thread pool of 100 threads, too. No need to have them fewer or more.