AWS Lambda 将根据增加的流量动态扩展容量,具体取决于您的账户的账户级别并发执行数限制。
每个区域的 AWS Lambda 账户限制
资源默认限制:并发执行数 1000
为了处理突增流量,Lambda 将立即根据预定量增加您的并发执行函数,具体取决于在哪个区域执行:
如果默认的并发立即增加量值不足以适应流量的猛增,AWS Lambda 将继续增加并发函数执行数量(每分钟 500 次),直到账户的安全限制已达到,或并发执行的函数数量足以成功处理增加的负载
每个调用的 AWS Lambda 资源限制
- 内存分配范围: 最小值 = 128 MB/最大值 = 3008 MB (增量为 64 MB). 如果超过最大内存使用量,则函数调用将会终止。
- 临时磁盘容量:(“/tmp”空间)512MB
- 文件描述符数: 1024
- 过程和线程数:(合并总数量)1024
- 每个请求的最大执行时长:300 秒(5 分钟)
- Invoke请求正文有效负载大小:(RequestResponse/同步调用)。注意:响应正文有效负载也必须遵循此限制。6MB
- Invoke请求正文负载大小: (Event/异步调用)128 KB
另外,可以选择设置函数的并发执行数限制。可能出于以下几个原因而选择这样做:
- 默认行为意味着,一个函数中并发执行数的激增会导致您使用执行数限制分离的函数受到抑制。如果为某个函数设置并发执行数限制,就将为该函数保留指定的并发执行数值。
- 函数将根据传入请求速率自动扩展,但并非架构中的所有资源都能够做到这一点。例如,关系数据库会对可处理的并发连接数加以限制。可以为函数设置并发执行数限制,以便与其下游资源支持的值保持一致。
- 如果函数连接到基于 VPC 的资源,则必须确保子网有足够的地址容量,可以支持函数的 ENI 扩展需求。可以使用以下公式估算大致的 ENI 容量:
Concurrent executions * (Memory in GB / 3 GB)
其中:
并发执行– 这是工作负载预计的并发度。
内存 (GB)– 为 Lambda 函数配置的内存量。
可以为函数设置并发执行数限制,以匹配实际拥有的子网大小限制。