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.
Skalierung von verwalteten Lambda-Instanzen
Lambda Managed Instances skaliert nicht, wenn Aufrufe eintreffen, und unterstützt keine Kaltstarts. Stattdessen wird es asynchron mithilfe von Signalen zum Ressourcenverbrauch skaliert. Managed Instances wird derzeit auf der Grundlage der CPU-Ressourcenauslastung und der Auslastung mehrerer Parallelitäten skaliert.
Die wichtigsten Unterschiede:
-
Lambda (Standard): Skaliert, wenn es keine freie Ausführungsumgebung für die Verarbeitung eines eingehenden Aufrufs gibt (Kaltstart)
-
Lambda Managed Instances: Skaliert asynchron auf der Grundlage der CPU-Ressourcenauslastung und der Mehrparallelität von Ausführungsumgebungen
Wenn sich Ihr Traffic innerhalb von 5 Minuten mehr als verdoppelt, kann es zu Drosselungen kommen, wenn Lambda Instances und Ausführungsumgebungen entsprechend der Nachfrage skaliert.
Der Skalierungslebenszyklus
Lambda Managed Instances verwendet eine verteilte Architektur, um die Skalierung zu verwalten:
Komponenten:
-
Verwaltete Instanzen — Werden in Ihrem Konto in den von Ihnen bereitgestellten Subnetzen ausgeführt
-
Router and Scaler — Gemeinsam genutzte Lambda-Komponenten, die Aufrufe weiterleiten und die Skalierung verwalten
-
Lambda Agent — Wird auf jeder verwalteten Instanz ausgeführt, um den Lebenszyklus der Ausführungsumgebung zu verwalten und den Ressourcenverbrauch zu überwachen
So funktioniert es:
-
Wenn Sie eine Funktionsversion mit einem Kapazitätsanbieter veröffentlichen, startet Lambda Managed Instances in Ihrem Konto. Aus Gründen der AZ-Resilienz werden standardmäßig drei und drei Ausführungsumgebungen gestartet, bevor Ihre Funktionsversion als AKTIV markiert wird.
-
Jede verwaltete Instanz kann Ausführungsumgebungen für mehrere Funktionen ausführen, die demselben Kapazitätsanbieter zugeordnet sind.
-
Wenn der Datenverkehr in Ihre Anwendung fließt, verbrauchen Ausführungsumgebungen Ressourcen. Der Lambda-Agent benachrichtigt den Scaler, der entscheidet, ob neue Ausführungsumgebungen oder verwaltete Instances skaliert werden sollen.
-
Wenn der Router versucht, einen Aufruf an eine Ausführungsumgebung mit hohem Ressourcenverbrauch zu senden, benachrichtigt ihn der Lambda-Agent auf dieser Instanz, es auf einer anderen erneut zu versuchen.
-
Wenn der Traffic abnimmt, benachrichtigt der Lambda Agent den Scaler, der entscheidet, die Ausführungsumgebungen herunterzufahren und in verwalteten Instanzen zu skalieren.
Anpassung des Skalierungsverhaltens
Sie können das Skalierungsverhalten von Managed Instances mithilfe von vier Steuerelementen anpassen:
Steuerungen auf Funktionsebene
1. Funktionsspeicher und v CPUs
Wählen Sie die Speichergröße und die vCPU-Zuweisung für Ihre Funktion. Die kleinste unterstützte Funktionsgröße ist 2 GB und 1 vCPU.
Überlegungen:
-
Wählen Sie eine Speicher- und vCPU-Einstellung, die mehrere gleichzeitige Ausführungen Ihrer Funktion unterstützt
-
Sie können keine Funktion mit weniger als 1 vCPU konfigurieren, da Funktionen, die auf verwalteten Instances ausgeführt werden, mehrere gleichzeitige Workloads unterstützen sollten
-
Sie können nicht weniger als 2 GB wählen, da dies dem Verhältnis von 2 zu 1 Arbeitsspeicher zu vCPU von c Instances entspricht, die das niedrigste Verhältnis aufweisen.
-
Für Python-Anwendungen müssen Sie möglicherweise ein höheres Verhältnis von Speicher zu V wählenCPUs, z. B. 4 zu 1 oder 8 zu 1, da Python Multiparallelität handhabt
-
Wenn Sie CPU-intensive Operationen ausführen oder wenig I/O ausführen, sollten Sie mehr als eine vCPU wählen
2. Maximale Parallelität
Legen Sie die maximale Parallelität pro Ausführungsumgebung fest.
Standardverhalten: Lambda wählt sinnvolle Standardwerte, die den Ressourcenverbrauch und den Durchsatz in Einklang bringen und für eine Vielzahl von Anwendungen geeignet sind.
Richtlinien für Anpassungen:
-
Erhöhen Sie die Parallelität: Wenn Ihre Funktionsaufrufen nur sehr wenig CPU verbrauchen, können Sie die maximale Parallelität auf maximal 64 pro vCPU erhöhen
-
Gleichzeitigkeit verringern: Wenn Ihre Anwendung viel Arbeitsspeicher und sehr wenig CPU beansprucht, können Sie die maximale Parallelität reduzieren
Wichtig: Da Lambda Managed Instances für Anwendungen mit mehreren gleichzeitigen Vorgängen konzipiert sind, kann es in Ausführungsumgebungen mit sehr geringer Parallelität zu Drosselungen bei der Skalierung kommen.
Kontrollen auf Ebene des Kapazitätsanbieters
3. Nutzung der Zielressourcen
Wählen Sie Ihr eigenes Ziel für den CPU-Nutzungsverbrauch.
Standardverhalten: Lambda behält genügend Headroom bei, sodass sich Ihr Traffic ohne Drosselungen innerhalb von 5 Minuten verdoppeln kann.
Optimierungsoptionen:
-
Wenn Ihre Arbeitslast sehr konstant ist oder wenn Ihre Anwendung nicht empfindlich auf Drosselungen reagiert, können Sie das Ziel auf ein hohes Niveau setzen, um eine höhere Auslastung und niedrigere Kosten zu erreichen
-
Wenn Sie genügend Spielraum für hohe Datenmengen haben möchten, können Sie die Ressourcenziele auf ein niedriges Niveau setzen, was wiederum mehr Kapazität erfordert
4. Auswahl des Instance-Typs
Legen Sie zulässige oder ausgeschlossene Instance-Typen fest.
Standardverhalten: Lambda wählt die besten Instance-Typen für Ihren Workload aus. Wir empfehlen, Lambda Managed Instances die Instanztypen für Sie auswählen zu lassen, da eine Einschränkung der Anzahl möglicher Instanztypen zu einer geringeren Verfügbarkeit führen kann.
Benutzerdefinierte Konfiguration:
-
Spezifische Hardwareanforderungen: Legen Sie für zulässige Instanztypen eine Liste kompatibler Instanzen fest. Wenn Sie beispielsweise eine Anwendung haben, die eine hohe Netzwerkbandbreite benötigt, können Sie mehrere n-Instance-Typen auswählen
-
Kostenoptimierung: Für Test- oder Entwicklungsumgebungen können Sie kleinere Instance-Typen wie m7a.large-Instance-Typen wählen
Nächste Schritte
-
Erfahren Sie mehr über Kapazitätsanbieter für Lambda Managed Instances
-
Lesen Sie die laufzeitspezifischen Anleitungen zum Umgang mit Mehrfachparallelität
-
Konfigurieren Sie die VPC-Konnektivität für Ihre Kapazitätsanbieter
-
Überwachen Sie Skalierungskennzahlen, um das Skalierungsverhalten zu optimieren