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

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

Jan 07, 2025 am 07:17 AM

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中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1663
14
CakePHP 教程
1420
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
公司安全軟件導致應用無法運行?如何排查和解決? 公司安全軟件導致應用無法運行?如何排查和解決? Apr 19, 2025 pm 04:51 PM

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

如何將姓名轉換為數字以實現排序並保持群組中的一致性? 如何將姓名轉換為數字以實現排序並保持群組中的一致性? Apr 19, 2025 pm 11:30 PM

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

如何使用MapStruct簡化系統對接中的字段映射問題? 如何使用MapStruct簡化系統對接中的字段映射問題? Apr 19, 2025 pm 06:21 PM

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

IntelliJ IDEA是如何在不輸出日誌的情況下識別Spring Boot項目的端口號的? IntelliJ IDEA是如何在不輸出日誌的情況下識別Spring Boot項目的端口號的? Apr 19, 2025 pm 11:45 PM

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

Java對像如何安全地轉換為數組? Java對像如何安全地轉換為數組? Apr 19, 2025 pm 11:33 PM

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

如何優雅地獲取實體類變量名構建數據庫查詢條件? 如何優雅地獲取實體類變量名構建數據庫查詢條件? Apr 19, 2025 pm 11:42 PM

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

電商平台SKU和SPU數據庫設計:如何兼顧用戶自定義屬性和無屬性商品? 電商平台SKU和SPU數據庫設計:如何兼顧用戶自定義屬性和無屬性商品? Apr 19, 2025 pm 11:27 PM

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

如何利用Redis緩存方案高效實現產品排行榜列表的需求? 如何利用Redis緩存方案高效實現產品排行榜列表的需求? Apr 19, 2025 pm 11:36 PM

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

See all articles