Hi all,
in our documentation there is one section about the sizing of the pool,
which I like to discuss:
"If you really want to use shared pooling (why?), then set the max count
to the same as the number of threads to ensure threads don't wait on
each other."
First: I think pooling is a valid option even for user-centric
scenarios. Think about simulating the sql requests of an application
server. In such a case a pool would have been used, so why not when
simulating it?
So for this part, I question the part "...(why?)..." and the "really" in
front of it.
Second: When a pool is used (at least the dbcp2 pool) the connections
seem to be stored in a stack like construct. So in a uncontended load
situation the pool will use only a fraction of the configured size and
in a contended situation with really many threads it will probably
overload the db.
So all in all I would rather change the sentence to something like "If
you want to use shared pooling, then set the max count to something
sensible".
Regards,
Felix
- doc for jdbc pool configuration Felix Schumacher
-