AWS Lambda 上的 Spring Boot 應用程式 - 使用 GraalVM 本機映像和記憶體設定測量冷啟動和熱啟動部分
介紹
在我們系列文章的第 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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用IntelliJIDEAUltimate版本啟動Spring...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...
