Heim  >  Artikel  >  Java  >  Lambda-Funktion mit GraalVM Native Image – Teil zur Vereinfachung von Kalt- und Warmstarts mit unterschiedlichen Lambda-Speichereinstellungen

Lambda-Funktion mit GraalVM Native Image – Teil zur Vereinfachung von Kalt- und Warmstarts mit unterschiedlichen Lambda-Speichereinstellungen

Susan Sarandon
Susan SarandonOriginal
2024-11-05 22:59:02985Durchsuche

Lambda function with GraalVM Native Image - Part easuring cold and warm starts using different Lambda memory settings

Einführung

In Teil 2 unserer Artikelreihe haben wir untersucht, wie man reine Lambda-Funktionen (ohne Verwendung von Frameworks wie Spring Boot 3) mit einer benutzerdefinierten Laufzeit, die GraalVM Native Image enthält, mit der GraalVM 21-Laufzeit entwickelt und bereitstellt, und in Teil 3 haben wir dies gemessen Leistung (Kalt- und Warmstartzeiten) der Lambda-Funktion mit 1024 MB Speicher unter Verwendung dieses Ansatzes.

In diesem Artikel messen wir Kalt- und Warmstarts des Lambda mit verschiedenen Speichereinstellungen zwischen 256 und 1536 MB, um den Kompromiss zwischen Kosten und Leistung zu untersuchen.

Messen von Kalt- und Warmstarts der Lambda-Funktion mit Custom Runtime, das GraalVM Native Image mit unterschiedlichen Speichereinstellungen enthält

Wir werden genau das gleiche Experiment wie in Teil 3 dieser Artikelserie wiederholen, jedoch mit unterschiedlichen Speichereinstellungen zwischen 256 und 1536 MB.

Hier sind die Ergebnisse des Experiments:

Kalt (c) und warm (m) Startzeit in ms:

Memory setting c p50 c p75 c p90 c p99 c p99.9 c max w p50 w p75 w p90 w p99 w p99.9 w max
256 MB 822.74 833.50 845.25 923.88 952.96 953.84 4.04 4.59 5.47 18.55 137.10 471.76
512 MB 620.04 621.40 657.70 705.37 727.57 727.97 4.16 4.65 5.46 14.32 64.54 229.29
768 MB 561.63 574.11 589.82 628.15 633.83 634.23 4.23 4.73 5.55 13.01 42.31 203.22
1024 MB 525.77 532.12 542.32 632.56 635.73 636.11 4.16 4.69 5.46 12.30 37.25 211.83
1280 MB 515.37 524.20 539.08 577.57 624.39 624.52 4.23 4.77 5.64 12.80 34.67 126.97
1536 MB 504.16 516.40 528.93 548.86 628.15 628.31 4.26 4.73 5.55 12.70 44.03 105.46

Abschluss

In diesem Artikel wurden Kalt- und Warmstarts der reinen Lambda-Funktion mit einer Speichereinstellung zwischen 256 und 1536 MB unter Verwendung einer benutzerdefinierten Laufzeit mit GraalVM Native Image mit GraalVM 21-Laufzeit gemessen.

Wir stellen fest, dass die Warmstartzeiten auch bei der Einstellung eines niedrigeren Speichers wie 256 oder 512 MB sehr nahe beieinander liegen und der Unterschied hauptsächlich bei den hohen Perzentilen sichtbar ist (>= p90). Die Kaltstartzeiten sind für 256 und 512 MB recht hoch und ab 768 MB verringern sie sich nur geringfügig, indem Lambda mehr Speicher zur Verfügung gestellt wird, ohne dass es bei Speicher größer als 1024 MB einen spürbaren Unterschied gibt. Abhängig von Ihren Leistungsanforderungen können Sie Lambda weniger Speicher als 1024 MB zur Verfügung stellen, wie wir ursprünglich in der Beispielanwendung angegeben haben, und erhalten mit 768 MB oder sogar etwas weniger Speicher einen sehr guten Preis-Leistungs-Kompromiss.

Zum Zeitpunkt der Veröffentlichung waren auch neuere Versionen verfügbar (z. B. GraalVM 23 Runtime). Nehmen Sie daher die Versionsänderungen vor und kompilieren Sie das GraalVM Native-Image gemäß den Anweisungen aus Teil 2 der Serie neu und messen Sie die Leistung erneut .

Das obige ist der detaillierte Inhalt vonLambda-Funktion mit GraalVM Native Image – Teil zur Vereinfachung von Kalt- und Warmstarts mit unterschiedlichen Lambda-Speichereinstellungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn