AWS Lambda SnapStart針對Python和.NET函數已經正式推出。這個功能極大地提升了函數的啟動效能,將初始化時間從幾秒降低到亞秒,通常只需進行最少或不需要任何程式碼更改。
文章重點
## 1. 性能改進
– SnapStart通過緩存和重複使用任何一次性初始化代碼的內存和磁盤狀態,有助於減少與函數初始化相關的異常延遲。
– 對於Python函數,尤其適用於涉及加載依賴項或機器學習模型的情況,這可能需要相當長的時間。
## 2. 工作原理
– AWS Lambda將初始化的執行環境快照並將其緩存以便快速訪問。當調用函數時,它會從此緩存的快照中恢復,而不是從頭開始。
## 3. 開始使用
– 用戶可以通過AWS管理控制台、AWS CLI或SDK啟用SnapStart。它支持Python 3.12及更高版本,以及.NET 8及更高版本。
– 博客提供了有關如何激活SnapStart的詳細說明,包括用於更新函數配置的CLI命令。
## 4. 運行時鉤子
– 開發人員可以使用運行時鉤子在創建快照之前或從快照中恢復之後執行代碼,從而允許進行清理或配置更新。
## 5. 注意事項
– 管理初始化代碼的唯一性很重要,以避免在執行環境中出現非唯一內容。
– 建議進行監控和性能調整,以最大程度地發揮SnapStart的好處。
## 6. 可用性
– Python和.NET的SnapStart在多個AWS區域提供,包括美國東部(北維吉尼亞州)、美國西部(俄勒岡州)和亞太區域(東京)。