Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Tomcat a connection pooling — jak predejit problemum

16. 08. 2011 1 min čtení CORE SYSTEMSdata

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

  1. Vzdy pool, nikdy DriverManager.getConnection() v produkci. 2. Validation queries. 3. removeAbandoned. 4. JMX monitoring. 5. Testujte failover.
tomcatjdbcconnection pooljava