Lambda 配额
AWS Lambda 旨在快速扩展以满足需求,从而允许您的函数纵向扩展以服务应用程序中的流量。Lambda 专为不保留或依赖于调用之间状态的短期计算任务而设计。代码在一次调用中最多可以运行 15 分钟,单一函数最多可使用 10240 MB 的内存。
请务必了解为保护您的账户和其他客户的工作负载而设置的防护机制。服务配额存在于所有 AWS 服务中,包括硬限制(您无法更改)和软限制(您可以请求增加)。默认情况下,所有新账户都分配有一个允许探索 AWS 服务的配额配置文件。
要查看适用于您账户的配额,请导航到服务配额控制面板
![应用程序设计图 1](images/application-design-figure-1.png)
重要
新的 AWS 账户 减少了并发和内存配额。AWS 将根据您的使用情况自动提高这些配额。
以下部分按类别列出了 Lambda 中的默认配额和限制。
计算和存储
Lambda 为可用来运行和存储函数的计算和存储资源量设置配额。并发执行和存储限额按 AWS 区域适用。弹性网络接口(ENI)限额按虚拟私有云(VPC)适用,不按区域适用。以下限额可以在默认值的基础上增加。有关更多信息,请参阅 Service Quotas 用户指南中的请求增加配额。
资源 | 默认配额 | 最多可增加到 |
---|---|---|
并发执行 |
1000 |
数十万 |
用于上传的功能(.zip 文件存档)和层的存储。每个函数版本和层版本都会消耗存储。 有关管理代码存储的最佳实践,请参阅 Serverless Land 中的 Monitoring Lambda code storage |
75 GB |
千吉字节 |
用于定义为容器映像的函数的存储 这些映像存储在 Amazon ECR 中。 |
请参阅 Amazon ECR 服务限额。 |
|
注意此配额与其他服务(如 Amazon Elastic File System (Amazon EFS))共享。请参阅 Amazon VPC 配额。 |
500 |
千 |
有关并发以及 Lambda 如何根据流量扩展函数并发的详细信息,请参阅 了解 Lambda 函数扩展。
函数配置、部署和执行
以下配额适用于函数配置、部署和执行。除非另有说明,否则无法对其进行更改。
注意
Lambda 文档、日志消息和控制台中使用缩写 MB(而不是 MiB)来表示 1024 KB。
资源 | 配额 |
---|---|
函数内存分配 |
128 MB 到 10240 MB,以 1 MB 为增量。 注意:Lambda 根据配置的内存量按比例分配 CPU 处理能力。请使用 Memory (MB)(内存 (MB))设置增加分配给函数的内存和 CPU 处理能力。大小为 1769MB 时,函数的处理能力与一个 vCPU 等效。 |
函数超时 |
900 秒(15 分钟) |
函数环境变量 |
对于与函数关联的所有环境变量总共为 4 KB |
函数基于资源的策略 |
20 KB |
函数层 |
五层 |
函数并发扩展限制 |
对于每个函数,每 10 秒 1,000 个执行环境 |
调用负载(请求和响应) |
请求和响应各为 6 MB(同步) 每个流式处理响应 20 MB(同步。流式处理响应的有效负载大小可以从默认值开始增加。请联系 支持 以进一步查询。) 256 KB(异步) 请求行和标头值的总组合大小为 1MB |
流式处理响应的带宽 |
函数响应的前 6MB 无上限 对于大于 6MB 的响应,其余响应为 2Mbps |
50 MB(通过 Lambda API 或软件开发工具包上传时已压缩)。上载较大文件请使用 Amazon S3。 50 MB(通过 Lambda 控制台上传时) 250 MB 部署包内容的最大大小,包括层和自定义运行时。(已解压缩) |
|
容器映像设置大小 |
16 KB |
容器映像代码包大小 |
10GB(最大未压缩图像大小,包括所有图层) |
测试事件(控制台编辑器) |
10 |
|
介于 512 MB 与 10,240 MB 之间,以 1 MB 为增量 |
文件描述符 |
1024 |
执行进程/线程 |
1024 |
Lambda API 请求
以下配额与 Lambda API 请求相关联。
资源 | 限额 |
---|---|
每个区域的每个函数的调用请求数(同步) |
您的执行环境的每个实例每秒最多处理 10 个请求。换言之,总调用限制是并发限制的 10 倍。请参阅 了解 Lambda 函数扩展。 |
每个区域的每个函数的调用请求数(异步) |
您的执行环境的每个实例都可以处理无限数量的请求。换言之,总调用限制仅基于函数可用的并发。请参阅 了解 Lambda 函数扩展。 |
每个函数版本或别名的调用请求数(每秒请求数) |
10 x 分配的预配置并发 注意此配额仅适用于使用预置并发的函数。 |
GetFunction API 请求 |
每秒 100 个请求。无法增加。 |
GetPolicy API 请求 |
每秒 15 个请求。无法增加。 |
控制面板 API 请求的剩余部分(不包括调用、GetFunction 和 GetPolicy 请求) |
所有 API 每秒 15 个请求(而不是每个 API 每秒 15 个请求)。无法增加。 |
其他服务
其他服务(如 AWS Identity and Access Management (IAM)、Amazon CloudFront (Lambda@Edge) 和 Amazon Virtual Private Cloud (Amazon VPC))的配额可能会影响您的 Lambda 函数。有关更多信息,请参阅《Amazon Web Services 一般参考》中的 AWS 服务 限额,以及 使用来自其 AWS 他服务的事件调用 Lambda。
许多涉及 Lambda 的应用程序都使用多种 AWS 服务。由于不同的服务对各种功能有不同的配额,在整个应用程序中管理这些配额可能很困难。例如,API Gateway 的默认节流限制为每秒 10000 个请求,而 Lambda 的默认并发限制为 1000 个。由于这种不匹配,来自 API Gateway 的传入请求数可能会超过 Lambda 能够处理的上限。您可以通过请求提高 Lambda 并发限制以匹配预期的流量水平来解决这个问题。
对应用程序进行负载测试还允许您在应用程序部署到生产环境之前端到端监控其性能。在负载测试期间,您可以识别可能成为预期流量级别限制因素的任何配额,并采取相应的措施。