Einstellungen für Verbindungstimeouts

Auf Compute Cloud@Customer können Sie Load Balancer Listener so konfigurieren, dass die maximale inaktive Zeit kontrolliert wird, die während jeder TCP-Verbindung oder bei HTTP-Anforderungen und -Antworten zulässig ist.

Load Balancer unterstützen Connection Multiplexing. Der Load Balancer kann viele eingehende Anforderungen von mehreren Clients über eine kleine Anzahl (eine oder mehrere) Backend-Verbindungen an den Ziel-Backend-Server weiterleiten.

Nachdem der Load Balancer eine Verbindung zwischen einem Client und einem Backend-Server hergestellt hat, kann die Verbindung wegen Inaktivität geschlossen werden. Sie können Load Balancer Listener so konfigurieren, dass die maximale Inaktivitätszeit kontrolliert wird, die während jeder TCP-Verbindung oder bei jedem HTTP-Anforderungs-/Antwort-Paar zulässig ist.

Die folgenden Timeouteinstellungen wirken sich auf das Load-Balancer-Verhalten aus:

  • Keepalive-Einstellungen zwischen Load Balancer und Client

  • Keepalive-Einstellungen zwischen Load Balancer und Backend-Server

  • Inaktivitätstimeout in Sekunden

Keepalive-Einstellungen

Der Load-Balancing-Service berücksichtigt keine beibehaltenen Einstellungen von Backend-Servern. Der Load Balancer schließt Backend-Serververbindungen, die länger als 300 Sekunden inaktiv sind. Es wird empfohlen, nicht zuzulassen, dass die Backend-Server Verbindungen mit dem Load Balancer schließen. Um mögliche 502-Fehler zu vermeiden, stellen Sie sicher, dass die Backend-Server inaktive Verbindungen nicht nach weniger als 310 Sekunden schließen.

Der Load Balancing-Service legt den Keepalive-Wert so fest, dass die Verbindung so lange beibehalten wird, bis sie 65 Sekunden lang inaktiv war. Der Wert für diese Einstellung kann nicht geändert werden.

Einstellungen für Inaktivitätstimeout

Wenn Sie einen TCP- oder HTTP-Listener erstellen oder bearbeiten, können Sie die maximale Inaktivität in Sekunden angeben. Diese Einstellung bezieht sich auf die maximal zulässige Zeit zwischen zwei aufeinanderfolgenden Empfangsvorgängen oder zwei aufeinanderfolgenden Sendevorgängen für Netzwerkeingaben/-ausgaben während der HTTP-Anforderungs-/Antwortphase. Wenn der konfigurierte Timeout abgelaufen ist, ohne dass Pakete gesendet oder empfangen werden, wird die Verbindung des Clients geschlossen. Bei HTTP- und WebSocket-Verbindungen wird der Timer für Empfangsvorgänge von einem Sendevorgang nicht zurückgesetzt, und ein Empfangsvorgang setzt den Timer für Sendevorgänge nicht zurück.

Hinweis

Diese Timeouteinstellung gilt nicht für die Leerlaufzeit zwischen einer abgeschlossenen Antwort und einer nachfolgenden HTTP-Anforderung.

Die Standardtimeoutwerte sind: 300 Sekunden für TCP-Listener und 60 Sekunden für HTTP-Listener. Der maximale Timeoutwert beträgt 7200 Sekunden.

Ändern Sie den Timeoutparameter, wenn entweder der Client oder der Backend-Server mehr Zeit für die Übertragung von Daten benötigt. Beispiel:

  • Der Client sendet eine Datenbankabfrage an den Backend-Server, und die Datenbank benötigt mehr als 300 Sekunden für die Ausführung. Daher überträgt der Backend-Server keine Daten innerhalb von 300 Sekunden.

  • Der Client lädt Daten mit dem HTTP-Protokoll hoch. Während des Uploads überträgt das Backend länger als 60 Sekunden keine Daten an den Client.

  • Der Client lädt Daten mit dem HTTP-Protokoll herunter. Nach der ursprünglichen Anforderung wird die Übertragung von Daten an den Backend-Server länger als 60 Sekunden unterbrochen.

  • Der Client beginnt mit der Übertragung von Daten nach dem Herstellen einer WebSocket-Verbindung, aber der Backend-Server überträgt länger als 60 Sekunden keine Daten.

  • Der Backend-Server beginnt mit der Übertragung von Daten nach dem Aufbau einer WebSocket-Verbindung, doch der Client überträgt länger als 60 Sekunden keine Daten.