首頁 > Java > java教程 > AWS Lambda 上的 Spring Boot 應用程式 - 使用 GraalVM 本機映像和記憶體設定測量冷啟動和熱啟動部分

AWS Lambda 上的 Spring Boot 應用程式 - 使用 GraalVM 本機映像和記憶體設定測量冷啟動和熱啟動部分

Linda Hamilton
發布: 2025-01-07 07:17:41
原創
221 人瀏覽過

Spring Boot pplication on AWS Lambda - Part Measuring cold and warm starts with GraalVM Native Image and memory settings

介紹

在我們系列文章的第 12 部分中,我們探討如何使用包含 GraalVM 本機映像的自訂執行時間來開發和部署 Lambda 函數,以及從 Spring Cloud Function AWS 應用程式建立的 GraalVM 22 執行時間。在第 13 部分中,我們測量了具有 1024 MB 記憶體的此類 Lambda 函數的效能(冷啟動和熱啟動)。

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

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

我們將重複使用本系列文章第 13 部分中描述的完全相同的實驗,但記憶體設定在 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 1634.84 1659.54 1691.35 1778.03 1785.15 1785.7 6.56 6.99 7.63 18.33 372.54 857.7
512 MB 1244.44 1278.48 1313.45 1414.28 1421.36 1421.94 6.66 7.10 7.94 25.41 181.86 414.99
768 MB 1111.53 1126.07 1139.66 1192.08 1202.86 1203.07 6.58 6.93 7.48 12.46 115.18 278.91
1024 MB 1051.03 1061.58 1080.86 1119.34 1149.45 1230.28 6.45 6.77 7.33 12.50 90.92 218.17
1280 MB 1022.02 1035.39 1058.41 1065.76 1104.64 1174.79 6.58 6.96 7.54 12.37 70.77 271.13
1536 MB 1009.83 1029.20 1048.41 1161.32 1116.24 1148.24 6.66 7.04 7.75 12.08 63.03 215.62

結論

在本文中,使用包含GraalVM 本機映像的自訂運行時測量Lambda 函數的冷啟動和熱啟動,GraalVM 21 運行時是從第12 部分中介紹的Spring Cloud Function AWS 應用程式創建的,具有256 到1536 MB 之間的不同記憶體設定。

我們觀察到與 GraalVM Native Image 的 Pure Lambda 函數 - 使用不同 Lambda 記憶體設定測量冷啟動和熱啟動一文中所述的類似情況。 對於較低的 Lambda 函數記憶體設定(例如 256 或 512 MB),熱啟動時間也非常接近,其中差異主要在高百分位 (>= p90) 上可見。 256 和 512 MB 的冷啟動時間相當長,從 768 MB 內存開始,通過為 Lambda 提供更多內存,冷啟動時間只會減少一點,但對於大於 1024 MB 的內存,沒有任何明顯差異。 根據您的效能要求,您可以為 Lambda 提供少於 1024 MB 的記憶體(正如我們最初在範例應用程式中給出的那樣),並且使用 768 MB 甚至更少的記憶體可以實現非常好的性價比。

我們也分享了第 13 部分結論中描述的相同觀察結果。當我們將冷啟動時間與文章使用GraalVM Native Image 的純Lambda 函數- 使用不同Lambda 內存設定測量冷啟動和熱啟動中測量的時間進行比較時( (其中Lambda 函數不使用Spring Boot 等任何框架),使用純Lambda 函數時,我們發現每個百分位數的值降低約0.5-0.6 秒。應用程式具有一定的最佳化潛力,因為我無法解釋它們之間的冷啟動時間如此大的差異。 Lambda 和GraalVM Native 映像一起使用可能只會導致冷啟動時間增加0.2-0.3 倍。

在發布本文時,正在使用的框架和工具的新版本已經可用(GraalVM 23 運行時、Spring Boot 3.4 和Spring Cloud Function 庫的版本更新),因此您可以進行版本更改並重新編譯GraalVM Native按照本系列第2 部分的說明進行影像繪製並重新測量效能。我還將很快發布這些版本的新測量結果並升級範例應用程式。

以上是AWS Lambda 上的 Spring Boot 應用程式 - 使用 GraalVM 本機映像和記憶體設定測量冷啟動和熱啟動部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板