Verwalten der reservierten Lambda-Gleichzeitigkeit - AWS Lambda

Verwalten der reservierten Lambda-Gleichzeitigkeit

Es gibt zwei Arten von Gleichzeitigkeitskontrollen:

  • Reservierte Gleichzeitigkeit – Reservierte Gleichzeitigkeit garantiert die maximale Anzahl gleichzeitiger Instances für die Funktion. Wenn für eine Funktion Gleichzeitigkeit reserviert ist, kann keine andere Funktion diese Gleichzeitigkeit nutzen. Für die Konfiguration reservierter Gleichzeitigkeit für eine Funktion wird keine Gebühr erhoben.

  • Bereitgestellte Gleichzeitigkeit – Bereitgestellte Gleichzeitigkeit initialisiert eine angefragte Anzahl von Ausführungsumgebungen, damit sie sofort auf die Aufrufe Ihrer Funktion reagieren können. Beachten Sie, dass bei der Konfiguration der bereitgestellten Parallelität Gebühren für Ihr AWS-Konto anfallen.

In diesem Thema wird beschrieben, wie Sie reservierte Gleichzeitigkeit verwalten und konfigurieren. Wenn Sie die Latenz für Ihre Funktionen verringern möchten, verwenden Sie die bereitgestellte Gleichzeitigkeit.

Gleichzeitigkeit bezeichnet die Anzahl der Anforderungen, die Ihre Funktion zu einem bestimmten Zeitpunkt verarbeitet. Wenn Ihre Funktion aufgerufen wird, weist Lambda eine Instance zu, um das Ereignis zu verarbeiten. Wenn der Funktionscode die Ausführung abgeschlossen hat, kann er eine andere Anforderung verarbeiten. Wenn die Funktion erneut aufgerufen wird, während noch eine Anforderung verarbeitet wird, erfolgt die Zuweisung einer weiteren Instance, wodurch die Gleichzeitigkeit der Funktion erhöht wird. Die Gesamtgleichzeitigkeit aller Funktionen in Ihrem Konto unterliegt einem Kontingent pro Region.

Informationen darüber, wie Gleichzeitigkeit mit der Skalierung interagiert, finden Sie unter Funktionsskalierung von Lambda.

Konfigurieren reservierter Gleichzeitigkeit

Verwenden Sie die Lambda-Konsole, um die Einstellungen für reservierte Gleichzeitigkeit für eine Funktion zu verwalten.

So reservieren Sie Gleichzeitigkeit für eine Funktion
  1. Öffnen Sie die Seite Funktionen der Lambda-Konsole.

  2. Wählen Sie eine Funktion aus.

  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 Gleichzeitigkeit bis zu dem angezeigten Wert von Unreserved account concurrency (Nicht reservierte Konto-Gleichzeitigkeit) minus 100 für Funktionen reservieren, für die keine Gleichzeitigkeit reserviert ist. Um eine Funktion zu drosseln, setzen Sie die reservierte Gleichzeitigkeit auf Null. Dadurch wird verhindert, dass Ereignisse verarbeitet werden, bis Sie das Limit entfernen.

Das folgende Beispiel zeigt zwei Funktionen mit Pools reservierter Gleichzeitigkeit und den Pool nicht reservierten Gleichzeitigkeit, der von anderen Funktionen verwendet wird. Drosselungsfehler treten auf, wenn die gesamte Gleichzeitigkeit in einem Pool verwendet wird.


        Reservierte Gleichzeitigkeit, die zwei Funktionen zugewiesen ist.
Legende
  • Funktionsgleichzeitigkeit

  • Reservierte Gleichzeitigkeit

  • Nicht reservierte Gleichzeitigkeit

  • -Drosselung

Reservieren von Gleichzeitigkeit hat folgende Auswirkungen.

  • Andere Funktionen können Ihre Funktion nicht am Skalieren hindern – Alle Funktionen Ihres Kontos in der gleichen Region ohne reservierte Gleichzeitigkeit nutzen den Pool der nicht reservierten Gleichzeitigkeit gemeinsam. Ohne reservierte Gleichzeitigkeit können andere Funktionen die gesamte verfügbare Gleichzeitigkeit aufbrauchen. Dadurch wird verhindert, dass Ihre Funktion bei Bedarf hochskaliert wird.

  • Ihre Funktion kann nicht unkontrolliert hochskalieren – Durch reservierte Gleichzeitigkeit wird Ihre Funktion auch bei der Nutzung von Gleichzeitigkeit aus dem nicht reservierten Pool eingeschränkt, was ihre maximale Gleichzeitigkeit begrenzt. Sie können Gleichzeitigkeit reservieren, um Ihre Funktion daran zu hindern, die gesamte verfügbare Gleichzeitigkeit in der Region zu nutzen oder nachgelagerte Ressourcen zu überlasten.

Die Einrichtung der Gleichzeitigkeit pro Funktion kann Auswirkungen auf den Pool für die Gleichzeitigkeit haben, der für andere Funktionen verfügbar ist. Um Probleme zu vermeiden, begrenzen Sie die Anzahl der Benutzer, die die API-Operationen PutFunctionConcurrency und DeleteFunctionConcurrency verwenden können.

Konfigurieren der Gleichzeitigkeit mit der Lambda-API

Um Gleichzeitigkeitseinstellungen mit der AWS CLI oder dem AWS SDK zu verwalten, verwenden Sie die folgenden API-Operationen.

Um reservierte Gleichzeitigkeit mit der AWS CLI zu konfigurieren, verwenden Sie den Befehl put-function-concurrency. Der folgende Befehl reserviert eine Gleichzeitigkeit von 100 für eine Funktion namens my-function:

aws lambda put-function-concurrency --function-name my-function --reserved-concurrent-executions 100

Die Ausgabe sollte folgendermaßen aussehen:

{ "ReservedConcurrentExecutions": 100 }