Reservierte Parallelität für eine Funktion konfigurieren - AWS Lambda

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.

Reservierte Parallelität für eine Funktion konfigurieren

In Lambda beschreibt die Gleichzeitigkeit die Anzahl der In-Flight-Anfragen, die Ihre Funktion gleichzeitig bearbeitet. Es gibt zwei Arten von Gleichzeitigkeitskontrollen:

  • Reservierte Gleichzeitigkeit ist die maximale Anzahl der gleichzeitigen Instances, die Ihrer Funktion zugewiesen sind. Wenn für eine Funktion Gleichzeitigkeit reserviert ist, kann keine andere Funktion diese Gleichzeitigkeit nutzen. Reservierte Parallelität ist nützlich, um sicherzustellen, dass Ihre wichtigsten Funktionen immer über genügend Parallelität verfügen, um eingehende Anfragen zu bearbeiten. Für die Konfiguration reservierter Gleichzeitigkeit für eine Funktion wird keine zusätzliche Gebühr erhoben.

  • Die bereitgestellte Gleichzeitigkeit beschreibt die Anzahl der vorinitialisierten Ausführungsumgebungen, die Ihrer Funktion zugewiesen sind. Diese Ausführungsumgebungen sind bereit, sofort auf eingehende Funktionsanforderungen zu reagieren. Bereitgestellte Parallelität ist nützlich, um die Latenzen beim Kaltstart von Funktionen zu reduzieren. 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 Funktion.

Anmerkung

Lambda-Funktionen, die mit einer Amazon-MQ-Ereignisquellenzuordnung verknüpft sind, haben standardmäßig die maximale Gleichzeitigkeit. 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 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. AWS Support

Konfigurieren reservierter Gleichzeitigkeit

Sie können die Einstellungen der reservierten Gleichzeitigkeit für eine Funktion in der Lambda-Konsole oder mit der Lambda-API konfigurieren.

Reservieren von Gleichzeitigkeit für eine Funktion (Konsole)
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie die Funktion aus, für sie Sie Gleichzeitigkeit reservieren möchten.

  3. Wählen Sie Konfiguration und anschließend Gleichzeitigkeit aus.

  4. Wählen Sie unter Concurrency (Parallelität) die Option Edit (Bearbeiten).

  5. Wählen Sie Reserve concurrency (Parallelität reservieren). Geben Sie die Menge an Gleichzeitigkeit an, die für die Funktion reserviert werden soll.

  6. Wählen Sie Save aus.

Sie können bis zum Wert von Nicht reservierte Kontonebenläufigkeit minus 100 reservieren. Die verbleibenden 100 Gleichzeitigkeitseinheiten sind für Funktionen bestimmt, die keine reservierte Gleichzeitigkeit verwenden. Wenn für Ihr Konto beispielsweise eine Gleichzeitigkeitsbeschränkung von 1 000 gilt, können Sie nicht alle 1 000 Gleichzeitigkeitseinheiten für eine einzelne Funktion reservieren.

Wenn Sie versuchen, zu viel Gleichzeitigkeit zu reservieren, tritt ein Fehler auf.

Das Reservieren von Gleichzeitigkeit für eine Funktion hat Auswirkungen auf den Pool, der für andere Funktionen verfügbar ist. Wenn Sie beispielsweise 100 Gleichzeitigkeitseinheiten für function-a reservieren, müssen sich andere Funktionen in Ihrem Konto die verbleibenden 900 Gleichzeitigkeitseinheiten teilen, auch wenn function-a nicht alle 100 reservierten Gleichzeitigkeitseinheiten verwendet.

Um eine Funktion absichtlich zu drosseln, setzen Sie die reservierte Gleichzeitigkeit dafür auf 0. Dadurch kann die Funktion keine Ereignisse mehr verarbeiten, bis Sie die Beschränkung 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 Gleichzeitigkeitseinheiten für eine Funktion namens 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 Funktion

Wenn Ihre 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 Funktion in Ihrem Konto.

Diagramm, das die Gleichzeitigkeit einer Funktion im Laufe der Zeit zeigt.

Aus dem vorstehenden Diagramm geht hervor, dass diese Funktion jederzeit im Durchschnitt 5 bis 10 gleichzeitige Anforderungen verarbeitet und an einem typischen Tag Spitzenwerte von 20 Anforderungen erreicht. Angenommen, Ihr Konto enthält viele andere Funktionen. Wenn diese Funktion für Ihre Anwendung von entscheidender Bedeutung ist und Sie keine Anforderungen abbrechen möchten, verwenden Sie mindestens 20 als Einstellung für die reservierte Gleichzeitigkeit.

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 Arbeiten mit Lambda-Funktionsmetriken.