AWS
内部原理
预热

由于 Lambda 冷启动问题,服务器函数可能会遇到性能问题。为了缓解这种情况,可以定期调用服务器函数使其保持活跃状态。请注意,预热功能是可选的,仅在您希望保持服务器函数活跃时才需要配置。

目前预热功能仅支持在单区域部署的 Lambda 服务器函数上使用。

部署时预热

每次部署时,都会生成 Lambda 函数的新版本。所有已预热的服务器函数实例将被关闭。在下一次 5 分钟间隔的预热函数运行之前,将不会有任何活跃的实例。

为了确保部署时函数能立即预热,可以创建一个 CloudFormation 自定义资源 (opens in a new tab)来在部署时调用预热函数。该自定义资源应按以下方式配置:

  • 在资源 CreateUpdate 操作时调用预热函数
  • 在资源属性中包含时间戳值,确保每次部署都会触发自定义资源
  • 授予 lambda:InvokeFunction 权限,允许自定义资源调用预热函数

成本构成

成本主要由三部分组成:

  1. EventBridge 调度器: $0.00864

    请求成本 — 每月 8,640 次调用 × $1/百万次 = $0.00864
  2. 预热函数: $0.145728288

    请求成本 — 每月 8,640 次调用 × $0.2/百万次 = $0.001728
    执行时长成本 — 每月 8,640 次调用 × 1GB 内存 × 1秒执行时间 × $0.0000166667/GB-秒 = $0.144000288
  3. 服务端函数: 每个预热实例 $0.0161280288

    请求成本 — 每月 8,640 次调用 × $0.2/百万次 = $0.001728
    执行时长成本 — 每月 8,640 次调用 × 1GB 内存 × 100毫秒执行时间 × $0.0000166667/GB-秒 = $0.0144000288

例如,保持 50 个服务端函数实例预热状态每月成本约为 $0.96


$0.00864 + $0.145728288 + $0.0161280288 × 50 = $0.960769728

此成本估算基于 us-east-1 区域定价,未考虑任何免费额度优惠。