配置 Lambda 函数内存 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 Lambda 函数内存

Lambda 根据配置的内存量按比例分配 CPU 功率。内存是在运行时可用于 Lambda 函数的内存量。请使用内存设置增加分配给函数的内存和 CPU 处理能力。您可以以 1MB 的增量将内存配置在 128MB 与 10240MB 之间。大小为 1769 MB 时,函数相当于一个 vCPU(每秒一个 vCPU 秒的积分)的处理能力。

本页介绍如何以及何时更新 Lambda 函数的内存设置。

确定 Lambda 函数的适当内存设置

内存是控制函数性能的主要杠杆。默认设置 128MB 是可能的最低设置。建议您仅将 128MB 用于简单的 Lambda 函数,例如用于转换事件并将其路由到其他 Amazon 服务的函数。更高的内存分配可以提高函数的性能,这些函数使用导入的库、Lambda 层、Amazon Simple Storage Service(Amazon S3)或 Amazon Elastic File System(Amazon EFS)。按比例增加更多内存会增加 CPU 的容量,从而提高可用的总体计算能力。如果函数受限于 CPU、网络或内存,则增加内存设置可以显著提高其性能。

要为您的函数查找适合的内存配置,建议使用开源 Amazon Lambda 功率调谐项目。此工具使用 Amazon Step Functions 在不同的内存分配下运行 Lambda 函数的多个并行版本并衡量性能。输入函数在您的 Amazon 账户中运行,以执行实时 HTTP 调用和 SDK 交互,从而衡量实时制作场景中可能的性能。您也可以实施 CI/CD 流程,以使用此工具自动衡量所部署的新函数的性能。

配置函数内存(控制台)

您可以在 Lambda 控制台中配置函数内存。

要更新函数内存
  1. 打开 Lamba 控制台的 Functions page(函数页面)。

  2. 选择函数。

  3. 选择配置选项卡,然后选择常规配置

    
            Lambda 控制台中的配置选项卡。
  4. 常规配置下,选择编辑

  5. 对于内存,设置一个从 128MB 到 10240MB 的值。

  6. 选择保存

配置函数内存(Amazon CLI)

您可以使用 update-function-configuration 命令来配置函数的内存。

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

配置函数内存(Amazon SAM)

您可以使用 Amazon 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...

接受函数内存推荐(控制台)

如果您在 Amazon Identity and Access Management (IAM) 中拥有管理员权限,则可以选择加入以接收来自 Amazon Compute Optimizer 的 Lambda 函数内存设置推荐。有关选择加入您账户或企业的内存推荐的说明,请参阅 Amazon Compute Optimizer 用户指南中的选择加入您的账户

注意

Compute Optimizer 只支持使用 x86_64 架构的函数。

当您选择加入并且 Lambda 函数符合 Compute Optimizer 要求时,您可以在常规配置中的 Lambda 控制台的 Compute Optimizer 中查看和接受函数内存推荐。