配置 Lambda 函数内存
Lambda 根据配置的内存量按比例分配 CPU 功率。内存是在运行时可用于 Lambda 函数的内存量。请使用内存设置增加分配给函数的内存和 CPU 处理能力。您可以以 1MB 的增量将内存配置在 128MB 与 10240MB 之间。大小为 1769 MB 时,函数相当于一个 vCPU(每秒一个 vCPU 秒的积分)的处理能力。
本页介绍如何以及何时更新 Lambda 函数的内存设置。
确定 Lambda 函数的适当内存设置
内存是控制函数性能的主要杠杆。默认设置 128MB 是可能的最低设置。建议您仅将 128MB 用于简单的 Lambda 函数,例如用于转换事件并将其路由到其他 AWS 服务的函数。更高的内存分配可以提高函数的性能,这些函数使用导入的库、Lambda 层、Amazon Simple Storage Service(Amazon S3)或 Amazon Elastic File System(Amazon EFS)。按比例增加更多内存会增加 CPU 的容量,从而提高可用的总体计算能力。如果函数受限于 CPU、网络或内存,则增加内存设置可以显著提高其性能。
要为您的函数查找适合的内存配置,建议使用开源 AWS Lambda 功率调谐
配置函数内存(控制台)
您可以在 Lambda 控制台中配置函数内存。
要更新函数内存
打开 Lamba 控制台的 Functions page
(函数页面)。 -
选择函数。
-
选择配置选项卡,然后选择常规配置。
-
在常规配置下,选择编辑。
-
对于内存,设置一个从 128MB 到 10240MB 的值。
-
选择保存。
配置函数内存(AWS CLI)
您可以使用 update-function-configuration
aws lambda update-function-configuration \ --function-name
my-function
\ --memory-size1024
配置函数内存(AWS SAM)
您可以使用 AWS Serverless Application Model 来配置函数的内存。更新 template.yaml
文件中的 MemorySize 属性,然后运行 sam deploy。
例 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) 中拥有管理员权限,则可以选择加入以接收来自 AWS Compute Optimizer 的 Lambda 函数内存设置推荐。有关选择加入您账户或企业的内存推荐的说明,请参阅 AWS Compute Optimizer 用户指南中的选择加入您的账户。
注意
Compute Optimizer 只支持使用 x86_64 架构的函数。
当您选择加入并且 Lambda 函数符合 Compute Optimizer 要求时,您可以在常规配置中的 Lambda 控制台的 Compute Optimizer 中查看和接受函数内存推荐。