Thanks for the question, Lars Johan.
Asked: November 04, 2022 - 12:52 pm UTC
Last updated: January 23, 2025 - 5:55 am UTC
Version: 19c
Viewed 1000+ times
You Asked
It has been stressed by Oracle, for example by The Oracle Real World Performance Team, that Dynamic Connection Pools can be a killer for database performance and should be avoided.
We therefore strive to persuade application server administrators to set up Static Connection Pools, where minSize=maxSize.
The Database Resident Connection Pool have default settings that gives a dynamic connection pool.
The default for MINSIZE = 4 and the default for MAXSIZE = 40, indicating that a Dynamic Connection Pool is advised.
https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/managing-processes.html#GUID-ABBE6941-73AC-4343-B320-A1400451B44F Why is this?
Is the DRCP so integrated with the database that a Dynamic Connection Pool is OK for DRCP?
Or should we configure DRCP with MINSIZE=MAXSIZE?
I haven't been able to find any documentation, blog posts or Whitepapers discussing this topic.
Do you have any thoughts/advice on this issue?
regards from Lars Johan
and Connor said...
We therefore strive to persuade application server administrators to set up Static Connection Pools, where minSize=maxSize
I agree and so does the real world performance team. We encourage customers to choose appropriate static sizes for connection pools (DRCP or otherwise).
However, from a software *delivery* perspective, we have a number of conflicting things we try to tackle:
1) some customers run on 2 cpu machines, some run on 200 cpu machines
2) some customers want to utilise (say) 10% of their overall server capacity for DRCP, others will want to use 90% of their capacity with DRCP
3) we want the DRCP to be a simple as possible to get customers up and running with it,
Because of (1) and (2), we can't really pick a (static) default based on (say) number of CPUs, because it will suit some but not all customers.
Because of (3), we don't want to have DRCP delivered totally unconfigured so that customer shave to set a bunch of settings to get it to work.
So we go with a compromise (a dynamic pool).
But as people become more familiar with it as they use it, we encourage static pool sizes for all the good reasons you're already aware of.
Rating
(2 ratings)
Is this answer out of date? If it is, please let us know via a Comment