服务器函数可能会因为 Lambda 冷启动而出现性能问题。为了缓解这种情况,可以定期调用服务器函数。请记住,预热是可选的,仅当您希望保持服务器函数处于预热状态时才需要。
请注意,目前仅当服务器函数部署到单个区域 (Lambda) 时才支持预热。
预热
每次部署时,都会生成一个新版本的 Lambda 函数。所有已预热的服务器函数实例都将被关闭。并且在预热函数在下个 5 分钟间隔再次运行之前,将没有任何预热实例。
为了确保函数在部署时被预热,请创建一个 CloudFormation 自定义资源 (opens in a new tab) 以便在部署时调用预热函数。自定义资源的配置应如下所示:
- 在资源
Create和Update时调用预热函数。 - 在资源属性中包含时间戳值,以确保自定义资源在每次部署时运行。
- 授予
lambda:InvokeFunction权限以允许自定义资源调用预热函数。
成本
成本由三个部分组成:
-
EventBridge 调度器:$0.00864
请求成本 — 每月 8,640 次调用 x $1/百万 = $0.00864 -
预热函数:$0.145728288
请求成本 — 每月 8,640 次调用 x $0.2/百万 = $0.001728 持续时间成本 — 每月 8,640 次调用 x 1GB 内存 x 1s 持续时间 x $0.0000166667/GB-秒 = $0.144000288 -
服务器函数:每个预热实例 $0.0161280288
请求成本 — 每月 8,640 次调用 x $0.2/百万 = $0.001728 持续时间成本 — 每月 8,640 次调用 x 1GB 内存 x 100ms 持续时间 x $0.0000166667/GB-秒 = $0.0144000288
例如,保持 50 个服务器函数实例处于预热状态,每月成本约为 $0.96
$0.00864 + $0.145728288 + $0.0161280288 x 50 = $0.960769728
此成本估算基于 us-east-1 区域定价,未考虑任何免费套餐优惠。