Sobes.tech
Senior

Hikari Pool mit 10 Verbindungen, bei Belastung erhielten wir 'connections not available'. Was tun?

sobes.tech KI

Antwort von AI

Der Fehler "connections not available" in HikariCP bei einem Pool von 10 Verbindungen bedeutet, dass alle verfügbaren Verbindungen belegt sind und neue Anfragen keine Verbindung aus dem Pool erhalten können.

Was tun:

  • Die Poolgröße erhöhen (z.B. maxPoolSize erhöhen), wenn die Last tatsächlich mehr Verbindungen erfordert.
  • Sicherstellen, dass Verbindungen korrekt geschlossen werden (die Methode close() auf der Connection aufrufen), sonst bleiben sie belegt.
  • Die Lebensdauer und die Wartezeit der Verbindungen (connectionTimeout) analysieren, eventuell den Timeout erhöhen.
  • Anfragen und Transaktionen optimieren, damit sie die Verbindungen so kurz wie möglich belegen.
  • Das Logging von HikariCP aktivieren, um Verbindungslecks zu erkennen (leakDetectionThreshold).

Beispiel für eine Konfiguration zur Erhöhung des Pools:

HikariConfig config = new HikariConfig();
config.setMaximumPoolSize(20); // Pool auf 20 erhöhen
HikariDataSource ds = new HikariDataSource(config);

Es ist wichtig sicherzustellen, dass die Datenbank und die Infrastruktur eine erhöhte Anzahl von Verbindungen verkraften können.