Sobes.tech
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í.