介紹
在我們系列文章的第 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中文網其他相關文章!

本文分析了2025年的前四個JavaScript框架(React,Angular,Vue,Susve),比較了它們的性能,可伸縮性和未來前景。 儘管由於強大的社區和生態系統,所有這些都保持占主導地位,但它們的相對人口

本文介紹了SnakeyAml中的CVE-2022-1471漏洞,這是一個允許遠程代碼執行的關鍵缺陷。 它詳細介紹瞭如何升級春季啟動應用程序到Snakeyaml 1.33或更高版本的降低風險,強調了依賴性更新

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

Node.js 20通過V8發動機改進可顯著提高性能,特別是更快的垃圾收集和I/O。 新功能包括更好的WebSembly支持和精製的調試工具,提高開發人員的生產率和應用速度。

本文使用lambda表達式,流API,方法參考和可選探索將功能編程集成到Java中。 它突出顯示了通過簡潔性和不變性改善代碼可讀性和可維護性等好處

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。