Heim > Datenbank > MySQL-Tutorial > Timeout der Spring Boot-Datenbankverbindung: Wie konfiguriere ich Verbindungspools effektiv?

Timeout der Spring Boot-Datenbankverbindung: Wie konfiguriere ich Verbindungspools effektiv?

Susan Sarandon
Freigeben: 2024-12-10 01:42:10
Original
228 Leute haben es durchsucht

Spring Boot Database Connection Timeout: How to Effectively Configure Connection Pools?

Zeitüberschreitung der Spring Boot-Verbindung mit der Datenbank

Problemübersicht

Spring Boot-Anwendungen, die Spring nutzen Bei Data JPA und Hibernate with MySQL können Verbindungs-Timeout-Fehler auftreten. Konkret weist die Fehlermeldung „CommunicationsException: Das letzte Paket, das erfolgreich vom Server empfangen wurde, war >4<24 Millisekunden her“ darauf hin, dass die Verbindung zwischen der Anwendung und der Datenbank abgelaufen ist.

Mögliche Lösung Verwenden von autoReconnect

Bei Verwendung von spring.datasource.testonborrow=true und spring.datasource.validationQuery=SELECT 1 ist eine praktikable Lösung und wird nicht empfohlen. Ein besserer Ansatz besteht darin, den Verbindungspool entsprechend zu konfigurieren.

Empfohlene Lösung: Verbindungspoolkonfiguration

  1. Maximale Anzahl festlegen Verbindungen:

    • spring.datasource.max-active=10
    • Dies gibt die maximale Anzahl gleichzeitiger Verbindungen an, die im Pool zulässig sind.
  2. Anfangs- und Leerlaufverbindung festlegen Grenzen:

    • spring.datasource.initial-size=5
    • Dies legt die Anzahl der anfänglichen Verbindungen im Pool fest.
    • spring.datasource. max-idle=5
    • Dies legt die maximale Anzahl inaktiver Verbindungen im fest pool.
    • spring.datasource.min-idle=1
    • Dies legt die Mindestanzahl der inaktiven Verbindungen im Pool fest.
  3. Verbindung aktivieren Validierung:

    • spring.datasource.test-while-idle=true
    • Dies validiert Verbindungen, während sie inaktiv sind.
    • spring.datasource.test -on-borrow=true
    • Dies validiert Verbindungen, wenn sie vom abgerufen werden pool.
    • spring.datasource.validation-query=SELECT 1
    • Dies legt die auszuführende Validierungsabfrage fest.
  4. Legen Sie den Validierungszeitraum und die Leerlaufzeit fest Timeout:

    • spring.datasource.time-between-eviction-runs-millis=5000
    • Dies gibt an, wie oft die Validierungsabfrage ausgeführt werden soll.
    • spring.datasource.min-evictable-idle-time-millis=60000
    • Dies legt das maximale Alter einer inaktiven Verbindung fest, bevor sie als vermeidbar gilt.

Durch die Konfiguration des Verbindungspools auf diese Weise werden Verbindungen regelmäßig validiert, inaktive Verbindungen werden regelmäßig gelöscht und Bei Bedarf werden neue Verbindungen erworben. Spring Boot übernimmt automatisch den Wiederverbindungsprozess und stellt sicher, dass Verbindungen immer verfügbar sind.

Das obige ist der detaillierte Inhalt vonTimeout der Spring Boot-Datenbankverbindung: Wie konfiguriere ich Verbindungspools effektiv?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage