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.
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 |
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!