首頁 >Java >java教程 >帶有 GraalVM Native Image 的 Lambda 函數 - 使用不同的 Lambda 記憶體設定部分緩解冷啟動和熱啟動

帶有 GraalVM Native Image 的 Lambda 函數 - 使用不同的 Lambda 記憶體設定部分緩解冷啟動和熱啟動

Susan Sarandon
Susan Sarandon原創
2024-11-05 22:59:021092瀏覽

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

介紹

在我們的文章系列的第2 部分中,我們探索如何使用包含GraalVM 21 運行時的GraalVM Native Image 的自定義運行時來開發和部署純Lambda 函數(不使用Spring Boot 3 等任何框架) ,在第3 部分中,我們測量了使用此方法使用1024 MB 記憶體的Lambda 函數的效能(冷啟動和熱啟動時間)。

在本文中,我們將使用 256 到 1536 MB 之間的不同記憶體設定來測量 Lambda 的冷啟動和熱啟動,以探索成本和效能之間的權衡。

使用包含具有不同記憶體設定的 GraalVM 本機映像的自訂執行時間測量 Lambda 函數的冷啟動和熱啟動

我們將重複使用本系列文章第 3 部分中描述的完全相同的實驗,但記憶體設定在 256 到 1536 MB 之間。

以下是實驗結果:

冷 (c) 和暖 (m) 開始時間(以毫秒為單位):

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

結論

在本文中,使用包含 GraalVM Native Image 和 GraalVM 21 運行時的自訂運行時,測量了記憶體設定在 256 到 1536 MB 之間的純 Lambda 函數的冷啟動和熱啟動。

我們觀察到,對於設定較低的記憶體(如 256 或 512 MB),熱啟動時間彼此非常接近,且差異主要在高百分位(> = p90)中可見。 256 和 512 MB 的冷啟動時間相當長,從 768 MB 開始,透過為 Lambda 提供更多內存,冷啟動時間只會稍微減少一點,而對於大於 1024 MB 的內存沒有任何明顯差異。 根據您的效能要求,您可以為 Lambda 提供少於 1024 MB 的記憶體(正如我們最初在範例應用程式中給出的那樣),並且使用 768 MB 甚至更少的記憶體可以實現非常好的性價比。

在發佈時,還提供了較新的版本(例如GraalVM 23 運行時),因此您可以按照本系列第2 部分中的說明進行版本更改並重新編譯GraalVM Native 映像,並重新測量效能.

以上是帶有 GraalVM Native Image 的 Lambda 函數 - 使用不同的 Lambda 記憶體設定部分緩解冷啟動和熱啟動的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn