配置预留并发
在 Lambda 中,并发是您的函数同时处理的正在进行的请求数。有两种类型的并发控件可用:
-
预留并发 – 预留并发是您要分配给函数的最大并发实例数。当一个函数有预留并发时,任何其他函数都不可以使用该并发。为函数配置预留并发不收取任何费用。
-
预置并发 – 预置并发是您要分配给函数的预初始化执行环境的数量。这些执行环境已准备就绪,可以立即响应传入的函数请求。配置预置并发会让您的 Amazon Web Services 账户 产生费用。
本主题详细介绍了如何管理和配置预留并发。有关这两种并发控制的概念概述,请参阅预留并发和预置并发。有关配置预置并发的信息,请参阅 配置预配置并发。
配置预留并发
您可以使用 Lambda 控制台或 Lambda API 为函数配置预留并发设置。
为函数预留并发(控制台)
打开 Lamba 控制台的函数页面
。 -
选择要为其预留并发的函数。
-
选择 Configuration(配置),然后选择 Concurrency(并发)。
-
在并发下,选择编辑。
-
选择预留并发。输入要为该函数预留的并发数量。
-
选择 Save(保存)。
您最多可以预留的单位数量为非预留账户并发值减去 100。剩余 100 个单位的并发可用于不会使用预留并发的函数。例如,如果您的账户的并发上限为 1000,则不能将所有 1000 个单位的并发预留给单个函数。

为一个函数预留并发会影响可用于其他函数的并发池。例如,如果您为 function-a
预留 100 个单位的并发,则即使 function-a
不使用所有 100 个单位的预留并发,您账户中的其他函数也必须共享剩余的 900 个单位的并发。
要有意限制函数,请将其预留并发设置为 0。这将停止函数处理任何事件,直到您删除限制。
要使用 Lambda API 配置预留并发,请使用以下 API 操作。
例如,要使用 Amazon Command Line Interface(CLI)配置预留并发,请使用 put-function-concurrency
命令。以下命令为名为 my-function
的函数预留 100 个单位的并发:
aws lambda put-function-concurrency --function-name my-function \ --reserved-concurrent-executions 100
您应该会看到类似如下输出:
{ "ReservedConcurrentExecutions": 100 }
使用 Lambda API 配置并发
如果您的函数当前正在提供流量,则可以使用 CloudWatch 指标轻松查看其并发指标。具体而言,ConcurrentExecutions
指标显示了您账户中每个函数的并发调用数。

前面的图表显示,在给定的任何时间,此函数平均处理 5 到 10 个并发请求,峰值通常为 20 个请求。假设您的账户中还有许多其他函数。如果此函数对您的应用程序至关重要,并且您不想丢弃任何请求,请使用大于或等于 20 的数字作为预留的并发设置。
请注意,您也可以使用以下公式计算并发:
Concurrency = (average requests per second) * (average request duration in seconds)
将每秒的平均请求数与平均请求持续时间(以秒为单位)相乘可以粗略估计您需要预留多少并发。您可以使用 Invocation
指标估算每秒的平均请求数,并使用 Duration
指标估计平均请求持续时间(以秒为单位)。有关更多信息,请参阅 使用 Lambda 函数指标。