2017-02-16 2 views
0

Ich suche in Kaltstartprobleme und den Eindruck haben, dass es einen Unterschied zwischen:AWS Lambda 'Voll' gegen 'inkrementellen' Kaltstart?

  • ein ‚voll‘ Kaltstart, dh von 0 bis 1 aktive Instanz gehen
  • eine ‚inkrementelle‘ Kaltstart , dh von n zu n + 1 aktiven Instanzen gehen

Es ist jedoch ziemlich schwierig, das 'inkrementelle' Szenario genau zu testen.

Kann jemand meinen Eindruck bestätigen und möglicherweise erklären, warum es einen Unterschied gibt?

+1

Wo sehen Sie, dass es in diesen beiden Szenarien einen Unterschied gibt? –

+0

Deshalb sage ich, es ist ein "Eindruck". Ich finde es ziemlich schwierig, das genau zu testen. Bisher habe ich nur nach einer gewissen Zeit der Inaktivität lange Verzögerungen gesehen, nicht wenn es viel Aktivität gibt - auch wenn von Zeit zu Zeit zusätzliche Instanzen gestartet werden sollten. Aber was ich wirklich verstehe, ist Kaltstartverhalten zu verstehen. Wenn Sie also wissen, dass mein Eindruck falsch sein muss, werde ich mich freuen zu hören! –

+0

Welche Sprache benutzen Sie? Normalerweise sind nur Java-Benutzer von der Startzeit eines Lambda-Containers betroffen. –

Antwort

0

Wenn es keine Instanz mit Ihrem Lambda in seinem Speicher gibt, benötigt AWS jetzt nicht, dass eine Instanz benötigt wird, deshalb dauert der erste Kaltstart länger. Wenn Ihr Lambda bereits unter Last ist, kann AWS vorhersagen, dass eine neue Instanz benötigt wird. Daher bereitet es eine neue Instanz im Voraus vor, nachdem Anforderungen an diese Instanz verteilt wurden. Daher ist Ihre Beobachtung korrekt, Kaltstart ist nur ein Problem für Funktionen ohne Aktivität.

+0

Das klingt nach einer sehr vernünftigen Erklärung, danke! Neugierig sein: Weißt du * es ist so oder gehst du nach deiner eigenen Argumentation/Beobachtung? –

+0

Ich zog diese Schlussfolgerung nach vielen Belastungstests. Nicht von AWS bestätigt. –