Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Optimieren Sie die Load Balancer-Verbindungsparameter für Amazon ECS

Fokusmodus
Optimieren Sie die Load Balancer-Verbindungsparameter für Amazon ECS - Amazon Elastic Container Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um eine Optimierung zu ermöglichen, halten die Clients eine permanente Verbindung zum Container-Service aufrecht. Auf diese Weise können nachfolgende Anfragen von diesem Client die bestehende Verbindung wiederverwenden. Wenn Sie den Verkehr zu einem Container unterbrechen möchten, benachrichtigen Sie den Load Balancer. Der Load Balancer überprüft regelmäßig, ob der Client die Keep-Alive-Verbindung geschlossen hat. Der Amazon ECS-Agent überwacht den Load Balancer und wartet darauf, dass der Load Balancer meldet, dass die Keep-Alive-Verbindung geschlossen ist (das Ziel befindet sich in einem UNUSED Status).

Die Zeitspanne, die der Load Balancer darauf wartet, das Ziel in den UNUSED Status zu versetzen, entspricht der Verzögerung bei der Abmeldung. Sie können den folgenden Load Balancer-Parameter konfigurieren, um Ihre Bereitstellungen zu beschleunigen.

  • deregistration_delay.timeout_seconds: 300 (Standard)

Wenn Sie einen Service mit einer Antwortzeit unter 1 Sekunde haben, setzen Sie den Parameter auf den folgenden Wert, damit der Load Balancer nur 5 Sekunden wartet, bevor er die Verbindung zwischen dem Client und dem Back-End-Service unterbricht:

  • deregistration_delay.timeout_seconds: 5

Anmerkung

Setzen Sie den Wert nicht auf 5 Sekunden, wenn Sie einen Dienst mit lang anhaltenden Anfragen haben, wie z. B. langsame Datei-Uploads oder Streaming-Verbindungen.

Reaktionsfähigkeit von SIGTERM

Amazon ECS sendet zunächst ein SIGTERM-Signal an die Aufgabe, um zu benachrichtigen, dass die Anwendung beendet und heruntergefahren werden muss. Dann sendet Amazon ECS eine SIGKILL-Nachricht. Wenn Anwendungen den SIGTERM ignorieren, muss der Amazon ECS-Service warten, bis er das SIGKILL-Signal sendet, um den Prozess zu beenden.

Wie lange Amazon ECS auf das Senden der SIGKILL-Nachricht wartet, wird durch die folgende Amazon ECS-Agentenoption bestimmt:

  • ECS_CONTAINER_STOP_TIMEOUT: 30 (Standard)

    Weitere Informationen zum Container-Agent-Parameter finden Sie unter Amazon ECS Container Agent on GitHub.

Um die Wartezeit zu verkürzen, setzen Sie den Amazon ECS-Agentenparameter auf den folgenden Wert:

  • ECS_CONTAINER_STOP_TIMEOUT: 2

    Wenn Ihre Anwendung länger als 1 Sekunde benötigt, multiplizieren Sie den Wert mit 2 und verwenden Sie diese Zahl als Wert.

In diesem Fall wartet Amazon ECS 2 Sekunden, bis der Container heruntergefahren wird, und Amazon ECS sendet dann eine SIGKILL-Nachricht, wenn die Anwendung nicht gestoppt wurde.

Sie können den Anwendungscode auch ändern, um das SIGTERM-Signal abzufangen und darauf zu reagieren. Das Folgende ist ein Beispiel in JavaScript:

process.on('SIGTERM', function() { server.close(); })

Dieser Code veranlasst den HTTP-Server, nicht mehr auf neue Anfragen zu warten, alle laufenden Anfragen zu beantworten, und dann wird der Prozess Node.js beendet, weil die Ereignisschleife nichts zu tun hat. Wenn der Prozess also nur 500 ms benötigt, um seine laufenden Anfragen zu beenden, wird er vorzeitig beendet, ohne dass der Stop-Timeout abgewartet und ein SIGKILL gesendet werden muss.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.