由于 Lambda 冷启动问题,服务器函数可能会遇到性能问题。为了缓解这种情况,可以定期调用服务器函数使其保持活跃状态。请注意,预热功能是可选的,仅在您希望保持服务器函数活跃时才需要配置。
目前预热功能仅支持在单区域部署的 Lambda 服务器函数上使用。
部署时预热
每次部署时,都会生成 Lambda 函数的新版本。所有已预热的服务器函数实例将被关闭。在下一次 5 分钟间隔的预热函数运行之前,将不会有任何活跃的实例。
为了确保部署时函数能立即预热,可以创建一个 CloudFormation 自定义资源 (opens in a new tab)来在部署时调用预热函数。该自定义资源应按以下方式配置:
- 在资源
Create
和Update
操作时调用预热函数 - 在资源属性中包含时间戳值,确保每次部署都会触发自定义资源
- 授予
lambda:InvokeFunction
权限,允许自定义资源调用预热函数
成本构成
成本主要由三部分组成:
-
EventBridge 调度器: $0.00864
请求成本 — 每月 8,640 次调用 × $1/百万次 = $0.00864
-
预热函数: $0.145728288
请求成本 — 每月 8,640 次调用 × $0.2/百万次 = $0.001728 执行时长成本 — 每月 8,640 次调用 × 1GB 内存 × 1秒执行时间 × $0.0000166667/GB-秒 = $0.144000288
-
服务端函数: 每个预热实例 $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
区域定价,未考虑任何免费额度优惠。