You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Node.js14 Lambda可同时发起的fetch调用上限是多少?

NodeJS 14 AWS Lambda 并发fetch请求限制及方案

各层面的限制说明

  • Node.js运行时限制:NodeJS 14默认HTTP/HTTPS Agent未限制全局最大并发连接数,无域名维度的硬并发上限,实际瓶颈来自底层操作系统的文件描述符限制。
  • Lambda运行环境限制:AWS Lambda单执行环境默认文件描述符软上限为1024,除去Lambda本身运行、S3访问、日志上报等固定占用的资源,实际可用于对外请求的TCP连接最多在900个以内。同时Lambda最长执行时间为15分钟,所有请求的总处理耗时不能超过该阈值。
  • 实际业务层面的合理上限:除了硬限制外,还要考虑设备端点承压能力、请求超时概率、错误处理效率、S3写入并发等因素,不建议单Lambda的并发请求数超过200,过高并发会导致大量连接超时、TCP握手失败等非业务错误。

不同规模下的方案建议

初期1000台设备规模

无需搭建父子Lambda架构,直接在单Lambda内做并发控制即可:

  1. 不要直接运行你提供的伪代码逻辑,该写法会瞬间发起和设备数量相等的并发请求,1000个并发很容易触达文件描述符上限导致大量请求失败
  2. 引入并发控制逻辑(比如使用p-limit工具库,或自行实现简单的并发池),把并发数控制在**80120之间**,这个区间的实测稳定性最高,1000台设备按平均每个请求耗时1s计算,总耗时在1015s左右,远低于Lambda的15分钟超时限制
  3. 优化建议:自定义HTTP/HTTPS Agent开启keepAlive复用TCP连接,给每个fetch设置3~5s的超时时间,Lambda内存配置选择256M及以上规格,保障网络和CPU性能足够支撑并发处理

长期10000台设备规模

仍然可以先尝试单Lambda方案,不需要立刻增加架构复杂度:

  • 把并发数调整到120150区间,10000台设备的总处理耗时大概在7090s,只要控制好单个请求的超时时间,完全可以在Lambda的执行时长限制内完成
  • 如果后续设备端点响应速度变慢、或者设备规模进一步上涨到5万以上,再考虑引入父子Lambda架构:主Lambda负责拆分设备列表,每次拆分100~200台为一个任务批次,异步调用子Lambda处理每个批次即可

内容的提问来源于stack exchange,提问作者lowcrawler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:24:03