Load Balancer - Timeouteinstellungen für Verbindungen
Konfigurieren Sie die Timeouteinstellungen für einen Load Balancer.
Oracle Cloud Infrastructure-Load Balancer unterstützen Connection Multiplexing. Der Load Balancer kann viele eingehende Anforderungen von verschiedenen Clients über wenige (eine oder viele) Backend-Verbindungen an den Ziel-Backend-Server weiterleiten.
Nachdem der Load Balancer einen Client mit einem Backend-Server verbunden hat, kann die Verbindung wegen Inaktivität geschlossen werden. Außerdem können Sie Load Balancer Listener so konfigurieren, dass die maximale Leerlaufzeit kontrolliert wird, die während jeder TCP-Verbindung oder bei jedem HTTP-Anforderungs-/Antwort-Paar zulässig ist. Es wird empfohlen, dass die Backend-Server keine Verbindungen zum Load Balancer schließen.
Die folgenden Timeouteinstellungen wirken sich auf das Verhalten des Load Balancers aus:
- Keepalive-Einstellung zwischen dem Load Balancer und dem Client
Der Load-Balancer-Service legt den Keepalive-Wert so fest, dass die Verbindung für 10.000 Transaktionen oder so lange aufrechterhalten wird, bis sie 65 Sekunden lang inaktiv war, je nachdem, welches Limit zuerst erreicht wird.
Hinweis
Sie können den Wert dieser Einstellung nicht ändern. - Keepalive-Einstellung zwischen dem Load Balancer und dem Backend-Server
Der Load Balancer schließt Backend-Serververbindungen, die länger als 300 Sekunden inaktiv sind. Weitere Informationen finden Sie unter Keepalive-Einstellungen.
- Inaktivitätstimeout in Sekunden
Sie können die Dauer des Inaktivitätstimeouts festlegen, wenn Sie einen Listener erstellen, wie unter Load Balancer Listener erstellen beschrieben. 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-/Antwort-Phase. Weitere Informationen finden Sie unter Einstellungen für Inaktivitätstimeout.
Keepalive-Einstellungen
Der Load-Balancer-Service berücksichtigt nicht Keepalive-Einstellungen von Backend-Servern. Der Load Balancer schließt Backend-Serververbindungen, die länger als 300 Sekunden inaktiv sind. Es wird empfohlen, dass die Backend-Server keine Verbindungen zum 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-Balancer-Service legt den Keepalive-Wert so fest, dass die Verbindung für 10.000 Transaktionen oder so lange aufrechterhalten wird, bis sie 65 Sekunden lang inaktiv war, je nachdem, welches Limit zuerst erreicht wird.
Einstellungen für Inaktivitätstimeout
Wenn Sie einen TCP- oder HTTP-Listener erstellen oder bearbeiten, können Sie mit der Option Inaktivitätstimeout in Sekunden die maximale Inaktivitätstimeout in Sekunde 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-/Antwort-Phase. Wenn der konfigurierte Timeout abgelaufen ist, ohne dass Pakete gesendet oder empfangen wurden, wird die Verbindung des Clients geschlossen. Bei HTTP- und WebSocket-Verbindungen setzt ein Sendeprozess den Timer für Empfangsvorgänge Nicht zurück, und ein Empfangsvorgang setzt den Timer für Sendevorgänge Nicht zurück. Weitere Informationen zum Anwenden dieser Option finden Sie unter Load Balancer Listener erstellen.
Diese Timeouteinstellung gilt nicht für die Leerlaufzeit zwischen einer abgeschlossenen Antwort und einer späteren HTTP-Anforderung.
Die Standardtimeoutwerte lauten:
- 300 Sekunden für TCP-Listener.
- 60 Sekunden für HTTP-Listener.
Den Timeoutparameter ändern, wenn entweder der Client oder der Backend-Server mehr Zeit für die Datenübertragung benötigt. Beispiele:
- Der Client sendet eine Datenbankabfrage an den Backend-Server, und die Datenbank benötigt mehr als 300 Sekunden für die Ausführung. Daher sendet der Backend-Server keine Daten innerhalb von 300 Sekunden.
- Der Client lädt Daten mit dem HTTP-Protokoll hoch. Während des Uploads sendet das Backend keine Daten länger als 60 Sekunden an den Client.
- Der Client lädt Daten mit dem HTTP-Protokoll herunter. Nach der ursprünglichen Anforderung wird die Übertragung der Daten an den Backend-Server länger als 60 Sekunden gestoppt.
- Der Client beginnt mit dem Senden von Daten, nachdem eine WebSocket-Verbindung hergestellt wurde. Der Backend-Server sendet jedoch keine Daten länger als 60 Sekunden.
- Der Backend-Server startet das Senden von Daten, nachdem eine WebSocket-Verbindung hergestellt wurde. Der Client sendet jedoch keine Daten mehr als 60 Sekunden lang.
Der maximale Timeoutwert beträgt 7.200 Sekunden. Wenden Sie sich an Erstellen einer Serviceanfrage, um eine Serviceanfrage zu stellen, um dieses Limit für Ihren Mandanten zu erhöhen. Weitere Informationen finden Sie unter Servicelimits.