設定函 Lambda 記憶體 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定函 Lambda 記憶體

Lambda 會按設定的記憶體數量比例來配置 CPU 功率。記憶體是可供 Lambda 函數在執行時間使用的記憶體數量。您可以使用 [記憶體] 設定增加或減少分配給功能的記憶體和 CPU 電源。您可以設定介於 128 MB 到 10,240 MB 之間的記憶體,以 1 MB 為增量。在 1,769 MB,函數等於一個完整 vCPU (每秒一個 vCPU 秒的額度)。

本頁說明如何以及何時更新 Lambda 函數的記憶體設定。

決定 Lambda 函數的適當記憶體設定

記憶體是控制功能效能的主要控制桿。預設設定 128 MB 是可能的最低設定。建議您只針對簡單的 Lambda 函數使用 128 MB,例如將事件轉換並路由至其他 AWS 服務的函數。較高的記憶體分配可以改善使用匯入程式庫、Lambda 層、亞馬遜簡單儲存服務 (Amazon S3) 或亞馬遜彈性檔案系統 (Amazon EFS) 的函數的效能。按比例增加更多記憶體會增加 CPU 的數量,從而提高可用的整體計算能力。如果某個功能是 CPU,網絡或內存限制,則增加內存設置可以顯著提高其性能。

若要尋找適合您函數的記憶體配置,我們建議您使用開放原始碼AWS Lambda 電源調整工具。此工具用 AWS Step Functions 於在不同的記憶體配置下執行多個並行版本的 Lambda 函數,並測量效能。輸入函數會在您的 AWS 帳戶中執行,執行即時 HTTP 呼叫和 SDK 互動,以測量即時生產案例中可能的效能。您也可以實作 CI/CD 程序,以使用此工具自動測量您部署的新功能的效能。

設定函數記憶體 (主控台)

您可以在 Lambda 主控台中設定函數的記憶體。

更新函數記憶體
  1. 開啟 Lambda 主控台中的 函數頁面

  2. 選擇一個函數。

  3. 選擇組態索引標籤,然後選擇一般組態

    
            Lambda 主控台中的「組態」索引標籤。
  4. 一般組態下,選擇編輯

  5. 在記憶體中,請設定介於 128 MB 到 10,240 MB 之間的值。

  6. 選擇儲存

配置函數記憶體 (AWS CLI)

您可以使用update-function-configuration指令來設定函數的記憶體。

aws lambda update-function-configuration \ --function-name my-function \ --memory-size 1024

配置函數記憶體 (AWS SAM)

您可以使用AWS Serverless Application Model來配置功能的記憶體。更新文template.yaml件中的MemorySize屬性,然後運行 sam 部署

範例 template.yaml
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Application Model template describing your function. Resources: my-function: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 1024 # Other function properties...

接受函數記憶體建議 (主控台)

如果您在 AWS Identity and Access Management (IAM) 中具有管理員許可,則可以選擇從中接收 Lambda 函數記憶體設定建議 AWS Compute Optimizer。如需有關針對您的帳戶或組織選擇加入記憶體建議的指示,請參閱 AWS Compute Optimizer 使用者指南中的選擇加入您的帳戶

注意

Compute Optimizer 只支援使用 x86_64 架構的函數。

當您已選擇加入且 Lambda 函數符合 Compute Optimizer 需求時,您可以在一般組態中檢視並接受來自 Lambda 主控台 Compute Optimizer 的函數記憶體建議。