Sobes.tech
Senior

Hikari Pool cu 10 conexiuni, sub sarcină, am primit 'connections not available'. Ce să facem?

sobes.tech AI

Răspuns de la AI

Eroarea "connections not available" în HikariCP cu un pool de 10 conexiuni înseamnă că toate conexiunile disponibile sunt ocupate și noile solicitări nu pot obține o conexiune din pool.

Ce trebuie făcut:

  • Creșteți dimensiunea pool-ului (de exemplu, măriți maxPoolSize), dacă încărcarea necesită cu adevărat mai multe conexiuni.
  • Verificați dacă conexiunile sunt închise corect (apelând metoda close() pe Connection), altfel rămân ocupate.
  • Analizați timpul de viață și timpul de așteptare al conexiunilor (connectionTimeout), poate trebuie mărit timeout-ul.
  • Optimizati interogările și tranzacțiile pentru a ocupa conexiunile cât mai puțin timp.
  • Activați logarea pentru HikariCP pentru a identifica scurgerile de conexiuni (leakDetectionThreshold).

Exemplu de configurare pentru mărirea pool-ului:

HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20); // măriți pool-ul la 20
HikariDataSource ds = new HikariDataSource(config);

Este important să vă asigurați că baza de date și infrastructura pot suporta un număr crescut de conexiuni.