Vytvoreni JDBC spojeni s databazi je draha operace — na Oracle 200-500 ms. Connection pool drzi preddem vytvorena spojeni a recykluje je. Tomcat JDBC Pool vs. Commons DBCP — jednoznacne doporucujeme Tomcat pool.
Sizing¶
Prilis maly pool = requesty cekaji. Prilis velky = plyvani zdroji na DB serveru. Pro 200 concurrent uzivatelu: 30-50 spojeni. maxActive nesmi presahnout PROCESSES limit v Oracle.
Connection validation¶
testOnBorrow=true s validationQuery=”SELECT 1 FROM DUAL” overri kazde spojeni pred pouzitim. testWhileIdle periodicky overuje idle spojeni. Zachrani vas pri restartu databaze nebo firewall timeoutech.
Abandoned connections¶
Connection leak = vyvojar zapomene zavrit spojeni. removeAbandoned=true automaticky detekuje zapomenuta spojeni. logAbandoned=true zaloguje stack trace mista alokace.
Monitoring¶
JMX statistiky: NumActive, NumIdle, WaitCount. Pokud NumActive dlouhodobe blizi maxActive = problem.
Pravidla¶
- Vzdy pool, nikdy DriverManager.getConnection() v produkci. 2. Validation queries. 3. removeAbandoned. 4. JMX monitoring. 5. Testujte failover.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns