AWS Lambda 热启动和冷启动

AWS Lambda Hot and Cold Start

您好,我是 AWS 新手 Lambda.I 想知道热 Lambda 函数(热启动)和冷 Lambda 函数(冷启动)是什么意思??谁能详细解释一下以及 Hot Lambda 和 Cold Lambda 有什么区别

上传您的代码后或一段时间不活动后,您的 Lambda 将关闭或 "cold"。当一个新事件出现时,会有一个短暂的时刻,Lambda 会启动一个新的代码实例——这包括初始化 AWS 为启动 "container" 所做的一切,以及初始化您上传的代码。

因此,理论上,能够命中初始化 ("hot") Lambda 的事件将比命中冷事件处理得更快。无法保证 Lambda 在最后一次事件后会保持热状态多长时间,但可能长达 5 分钟。

人们普遍认为,当人们提到 "warm starts" 时,他们的意思是相同的 container/sandbox 已准备好接收新的连接 - 但这并不准确。

  • 热启动 - 使用热容器调用一个函数,并使用预烘焙的未使用的沙箱资源从以前的调用中不回收。
  • 冷启动 - 在没有 container/sandbox 准备好接收请求时调用函数。必须创建一个新容器并加载运行时和用户代码。冷启动的延迟主要是一个内部指标,在外部,冷启动只是影响最终用户体验的总开销的一部分。在某些场景下,我们可以遇到一部分全冷启动,思考规模预测和统计算法

但是,使用术语 "cold start" 和 "warm start" 可能会产生误导,作为开发人员,您应该关心 "Invocation Overheads" - 调用用户函数和 return 响应。