Senior
Hikari Pool s 10 připojeními, při zátěži jsme obdrželi 'connections not available'. Co dělat?
sobes.tech AI
Odpověď od AI
Chyba "connections not available" v HikariCP s pool 10 spojení znamená, že všechna dostupná spojení jsou obsazena a nové požadavky nemohou získat spojení z poolu.
Co dělat:
- Zvýšit velikost poolu (například zvýšit maxPoolSize), pokud zatížení skutečně vyžaduje více spojení.
- Zkontrolovat, že spojení jsou správně uzavřena (voláním metody close() na Connection), jinak zůstanou obsazena.
- Analyzovat dobu života a dobu čekání spojení (connectionTimeout), možná je třeba zvýšit timeout.
- Optimalizovat dotazy a transakce tak, aby zabraly spojení co nejkratší dobu.
- Zapnout logování HikariCP pro odhalení úniků spojení (leakDetectionThreshold).
Příklad nastavení pro zvýšení poolu:
HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20); // zvýšit pool na 20
HikariDataSource ds = new HikariDataSource(config);
Je důležité zajistit, že databáze a infrastruktura zvládnou zvýšený počet spojení.