Senior
Hikari Pool s 10 pripojeniami, pri zaťažení dostávame 'connections not available'. Čo robiť?
sobes.tech AI
Odpoveď od AI
Chyba "connections not available" v HikariCP s bazénom 10 spojení znamená, že všetky dostupné spojenia sú obsadené a nové požiadavky nemôžu získať spojenie z bazéna.
Čo robiť:
- Zvýšiť veľkosť bazéna (napríklad zvýšiť maxPoolSize), ak skutočne požaduje viac spojení.
- Skontrolovať, že spojenia sú správne zatvárané (volaním metódy close() na Connection), inak zostávajú obsadené.
- Analyzovať dobu života a dobu čakania spojení (connectionTimeout), možno je potrebné zvýšiť timeout.
- Optimalizovať dotazy a transakcie tak, aby zaberali spojenia čo najkratší čas.
- Zapnúť logovanie HikariCP na odhalenie únikov spojení (leakDetectionThreshold).
Príklad nastavenia na zvýšenie bazéna:
HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20); // zvýšiť bazén na 20
HikariDataSource ds = new HikariDataSource(config);
Je dôležité zabezpečiť, že databáza a infraštruktúra zvládnu zvýšený počet spojení.