← 中文资源

简体中文版本

冷启动缓解工作流

度量无服务器函数冷启动延迟,判断是导入还是初始化受限,并从预置并发到惰性导入选择合适缓解。

阅读英文原文

先度量再修复

冷启动有两成本:模块导入与 handler 初始化。平台 profile 会拆分。修错的对象毫无效果,故先度量。

serverless invoke --function api --log --profile cold

缓解须匹配成本

成本在导入则惰性导入重模块;在初始化则把工作移出 handler 或付费预置并发。缓解必须对应成本。

锁定

加冷启动回归测试到 CI,强制冷启动并在 p99 超 SLO 时失败。未来加重导入的变更在上线前被 CI 拦截。

验证

20 次强制冷启动的 p99 低于 SLO,暖延迟不变,CI 测试通过。采样 20 次以免单次慢导入偏倚 p99。初始化可削减时优先惰性导入而非预置并发;初始化不可削且流量可预测时才付预置并发。