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.
Konfiguration reservierter Parallelität für eine Event-Funktion
In Lambda ist Parallelität die Anzahl der laufenden Anfragen, die Ihre Event-Funktion derzeit bearbeitet. Es gibt zwei Arten von Gleichzeitigkeitskontrollen:
-
Reservierte Parallelität — Dies legt sowohl die maximale als auch die minimale Anzahl gleichzeitiger Instances fest, die Ihrer Event-Funktion zugewiesen sind. Wenn für eine Event-Funktion Parallelität reserviert ist, kann keine andere Event-Funktion diese Parallelität verwenden. Reservierte Gleichzeitigkeit ist nützlich, um sicherzustellen, dass Ihre kritischsten Funktionen immer genügend Gleichzeitigkeit haben, um eingehende Anfragen zu bearbeiten. Darüber hinaus kann reservierte Gleichzeitigkeit verwendet werden, um die Gleichzeitigkeit einzuschränken, und so zu verhindern, dass nachgelagerte Ressourcen wie Datenbankverbindungen überlastet werden. Die reservierte Gleichzeitigkeit dient sowohl als Untergrenze als auch als Obergrenze. Sie reserviert die angegebene Kapazität ausschließlich für Ihre Funktion und verhindert gleichzeitig, dass sie über diese Grenze hinaus skaliert wird. Für die Konfiguration reservierter Gleichzeitigkeit für eine Funktion wird keine zusätzliche Gebühr erhoben.
-
Bereitgestellte Parallelität — Dies ist die Anzahl der vorinitialisierten Ausführungsumgebungen, die Ihrer Event-Funktion zugewiesen sind. Diese Ausführungsumgebungen sind bereit, sofort auf eingehende Funktionsanforderungen zu reagieren. Bereitgestellte Gleichzeitigkeit ist nützlich, um Kaltstartlatenzen für Funktionen zu reduzieren, und wurde entwickelt, um Funktionen mit Antwortzeiten im zweistelligen Millisekundenbereich verfügbar zu machen. Im Allgemeinen profitieren interaktive Workloads am meisten von diesem Feature. Dabei handelt es sich um Anwendungen, bei denen Benutzer Anfragen initiieren, wie z. B. Web- und Mobilanwendungen und sie reagieren am empfindlichsten auf Latenz. Asynchrone Workloads, wie Datenverarbeitungspipelines, reagieren häufig weniger empfindlich auf Latenz und benötigen daher in der Regel keine bereitgestellte Gleichzeitigkeit. Für die Konfiguration der bereitgestellten Parallelität fallen zusätzliche Gebühren für Sie an. AWS-Konto
In diesem Thema wird beschrieben, wie Sie reservierte Gleichzeitigkeit verwalten und konfigurieren. Eine konzeptionelle Übersicht über diese beiden Arten von Gleichzeitigkeitssteuerungen finden Sie unter Reservierte Gleichzeitigkeit und bereitgestellte Gleichzeitigkeit. Weitere Informationen zum Konfigurieren der bereitgestellten Gleichzeitigkeit finden Sie unter Konfiguration der bereitgestellten Parallelität für eine Event-Funktion.
Anmerkung
Lambda-Ereignisfunktionen, die mit einer Amazon MQ MQ-Ereignisquellenzuordnung verknüpft sind, haben standardmäßig eine maximale Parallelität. Für Apache Active MQ ist die maximale Anzahl der gleichzeitigen Instances 5. Für Rabbit MQ ist die maximale Anzahl der gleichzeitigen Instances 1. Wenn Sie für Ihre Event-Funktion eine reservierte oder bereitgestellte Parallelität festlegen, werden diese Grenzwerte nicht geändert. Um eine Erhöhung der standardmäßigen maximalen Parallelität bei der Verwendung von Amazon MQ zu beantragen, wenden Sie sich an. Support
Sections
Konfigurieren reservierter Gleichzeitigkeit
Sie können reservierte Parallelitätseinstellungen für eine Lambda-Ereignisfunktion mithilfe der Lambda-Konsole oder der Lambda-API konfigurieren.
So reservieren Sie Parallelität für eine Event-Funktion (Konsole)
Öffnen Sie die Seite Event Functions
der Lambda-Konsole. -
Wählen Sie die Event-Funktion aus, für die Sie Parallelität reservieren möchten.
-
Wählen Sie Konfiguration und anschließend Gleichzeitigkeit aus.
-
Wählen Sie unter Concurrency (Parallelität) die Option Edit (Bearbeiten).
-
Wählen Sie Reserve concurrency (Parallelität reservieren). Geben Sie den Umfang der Parallelität ein, der für die Event-Funktion reserviert werden soll.
-
Wählen Sie Speichern.
Sie können bis zum Wert von Nicht reservierte Kontonebenläufigkeit minus 100 reservieren. Die verbleibenden 100 Parallelitätseinheiten sind für Event-Funktionen vorgesehen, die keine reservierte Parallelität verwenden. Wenn Ihr Konto beispielsweise ein Parallelitätslimit von 1.000 hat, können Sie nicht alle 1.000 Parallelitätseinheiten für eine einzelne Event-Funktion reservieren.
Wenn Sie Parallelität für eine Event-Funktion reservieren, wirkt sich das auf den Parallelitätspool aus, der anderen Event-Funktionen zur Verfügung steht. Wenn Sie beispielsweise 100 Parallelitätseinheiten für reservierenfunction-a, müssen andere Event-Funktionen in Ihrem Konto die verbleibenden 900 Parallelitätseinheiten gemeinsam nutzen, auch wenn function-a nicht alle 100 reservierten Parallelitätseinheiten verwendet werden.
Um eine Event-Funktion bewusst zu drosseln, setzen Sie ihre reservierte Parallelität auf 0. Dadurch wird verhindert, dass Ihre Event-Funktion Ereignisse verarbeitet, bis Sie das Limit aufheben.
Verwenden Sie für die Konfiguration von reservierter Gleichzeitigkeit mithilfe der Lambda-API die folgenden API-Vorgänge:
Um beispielsweise reservierte Parallelität mit der AWS Command Line Interface (CLI) zu konfigurieren, verwenden Sie den put-function-concurrency Befehl. Der folgende Befehl reserviert 100 Parallelitätseinheiten für eine Ereignisfunktion mit dem Namen: my-function
aws lambda put-function-concurrency --function-name my-function \ --reserved-concurrent-executions 100
Die Ausgabe sollte ungefähr wie folgt aussehen:
{ "ReservedConcurrentExecutions": 100 }
Genaue Schätzung der erforderlichen reservierten Parallelität für eine Ereignisfunktion
Wenn Ihre Event-Funktion derzeit Traffic verarbeitet, können Sie die zugehörigen Parallelitätskennzahlen einfach anhand von Metriken einsehen. CloudWatch Insbesondere zeigt Ihnen die ConcurrentExecutions Metrik die Anzahl der gleichzeitigen Aufrufe für jede Event-Funktion in Ihrem Konto.
Aus dem vorherigen Diagramm geht hervor, dass diese Ereignisfunktion durchschnittlich 5 bis 10 gleichzeitige Anfragen zu einem bestimmten Zeitpunkt bearbeitet und bei 20 Anfragen an einem typischen Tag ihren Höhepunkt erreicht. Nehmen wir an, Ihr Konto enthält noch viele andere Event-Funktionen. Wenn diese Ereignisfunktion für Ihre Anwendung von entscheidender Bedeutung ist und Sie keine Anfragen löschen möchten, verwenden Sie eine Zahl größer oder gleich 20 als Ihre reservierte Parallelitätseinstellung.
Denken Sie alternativ daran, dass Sie die Gleichzeitigkeit auch mit der folgenden Formel berechnen können:
Concurrency = (average requests per second) * (average request duration in seconds)
Wenn Sie die durchschnittlichen Anforderungen pro Sekunde mit der durchschnittlichen Anforderungsdauer in Sekunden multiplizieren, erhalten Sie eine grobe Schätzung, wie viel Gleichzeitigkeit Sie reservieren müssen. Sie können die durchschnittlichen Anfragen pro Sekunde anhand der Invocation-Metrik und die durchschnittliche Anfragedauer in Sekunden anhand der Duration-Metrik schätzen. Weitere Details finden Sie unter CloudWatch Metriken mit Lambda verwenden.
Sie sollten auch mit Ihren vor- und nachgelagerten Durchsatzbeschränkungen vertraut sein. Lambda Event Functions lassen sich zwar nahtlos mit der Last skalieren, aber Upstream- und Downstream-Abhängigkeiten verfügen möglicherweise nicht über die gleichen Durchsatzfähigkeiten. Wenn Sie einschränken möchten, wie hoch Ihre Event Function skalieren kann, konfigurieren Sie reservierte Parallelität für Ihre Event Function.