Optimieren Sie die Startzeit von ECS Amazon-Aufgaben - 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.

Optimieren Sie die Startzeit von ECS Amazon-Aufgaben

Beachten Sie die folgenden Empfehlungen, um den Start Ihrer Aufgaben zu beschleunigen.

  • Container-Images und Binpack-Instances zwischenspeichern

    Wenn Sie den EC2 Starttyp verwenden, können Sie das Pull-Verhalten des ECS Amazon-Container-Agenten wie folgt konfigurierenECS_IMAGE_PULL_BEHAVIOR:prefer-cached. Das Bild wird remote abgerufen, wenn kein zwischengespeichertes Bild vorhanden ist. Andernfalls wird das zwischengespeicherte Image in der Instance verwendet. Die automatische Bildbereinigung ist für den Container deaktiviert, um sicherzustellen, dass das zwischengespeicherte Bild nicht entfernt wird. Dadurch wird die Abrufzeit für das Abrufen von Bildern für nachfolgende Starts reduziert. Der Effekt von Caching ist noch größer, wenn Sie eine hohe Aufgabendichte in Ihren Container-Instances haben, die Sie mithilfe der binpack Platzierungsstrategie konfigurieren können. Das Zwischenspeichern von Container-Images ist besonders für Windows-basierte Workloads von Vorteil, die normalerweise große (Dutzende) Container-Image-Größen haben. GBs Wenn Sie die binpack Platzierungsstrategie verwenden, können Sie auch die Verwendung von Elastic Network Interface (ENI) -Trunking in Betracht ziehen, um mehr Aufgaben im awsvpc Netzwerkmodus auf jeder Container-Instance zu platzieren. ENITrunking erhöht die Anzahl der Aufgaben, die Sie im Modus ausführen awsvpc können. Beispielsweise kann eine c5.large-Instance, die möglicherweise nur die gleichzeitige Ausführung von 2 Aufgaben unterstützt, bis zu 10 Aufgaben mit Trunking ausführen. ENI

  • Wählen Sie einen optimalen Netzwerkmodus

    Obwohl es viele Fälle gibt, in denen der awsvpc Netzwerkmodus ideal ist, kann dieser Netzwerkmodus von Natur aus die Latenz beim Starten von Aufgaben erhöhen, da ECS Amazon-Workflows für jede Aufgabe im awsvpc Modus eine bereitstellen und anhängen müssen, ENI indem sie Amazon aufrufen EC2APIs, was Ihren Aufgabenstarts einen Mehraufwand von mehreren Sekunden hinzufügt. Im Gegensatz dazu besteht ein entscheidender Vorteil des awsvpc Netzwerkmodus darin, dass jede Aufgabe über eine Sicherheitsgruppe verfügt, die den Datenverkehr zulässt oder verweigert. Dies bedeutet, dass Sie flexibler sind, um die Kommunikation zwischen Aufgaben und Diensten detaillierter zu steuern. Wenn die Bereitstellungsgeschwindigkeit Ihre Priorität ist, können Sie den bridge Modus in Betracht ziehen, um das Starten von Aufgaben zu beschleunigen. Weitere Informationen finden Sie unter Weisen Sie einer ECS Amazon-Aufgabe eine Netzwerkschnittstelle zu.

  • Verfolgen Sie Ihren Lebenszyklus beim Starten von Aufgaben, um Optimierungsmöglichkeiten zu finden

    Es ist oft schwierig zu wissen, wie lange es dauert, bis Ihre Anwendung gestartet wird. Das Starten Ihres Container-Images, das Ausführen von Startskripten und andere Konfigurationen während des Anwendungsstarts können überraschend viel Zeit in Anspruch nehmen. Sie können den Task-Metadaten-Endpunkt verwenden, um Metriken zu veröffentlichen, mit denen Sie die Startzeit der Anwendung von ContainerStartTime bis zu dem Zeitpunkt verfolgen können, zu dem Ihre Anwendung bereit ist, Datenverkehr bereitzustellen. Anhand dieser Daten können Sie nachvollziehen, wie Ihre Anwendung zur Gesamtstartzeit beiträgt, und Bereiche ermitteln, in denen Sie unnötigen anwendungsspezifischen Aufwand reduzieren und Ihre Container-Images optimieren können. Weitere Informationen finden Sie unter Optimieren Sie die ECS Kapazität und Verfügbarkeit von Amazon.

  • Wählen Sie einen optimalen Instance-Typ (für den EC2 Starttyp)

    Die Auswahl des richtigen Instance-Typs basiert auf der Ressourcenreservierung (z. B. Arbeitsspeicher)CPU, die Sie für Ihre Aufgabe konfigurieren. Daher können Sie bei der Dimensionierung der Instanz berechnen, wie viele Aufgaben einer einzelnen Instanz zugewiesen werden können. Ein einfaches Beispiel für eine gut platzierte Aufgabe ist das Hosten von 4 Aufgaben, die 0,5 V CPU und 2 GB an Speicherreservierungen in einer m5.large-Instance erfordern (unterstützt 2 V CPU und 8 GB Arbeitsspeicher). Die Reservierungen dieser Aufgabendefinition nutzen die Ressourcen der Instanz voll aus.