云函数冷启动超过 5 秒,Webhook 全部超时怎么办
现象#
函数日志里处理只花 200ms,Dev Dashboard 的 Response time 却显示 5.2s 并判失败,冷启动那几条全部进重试。
原因#
- Shopify 建连给 1 秒、整请求给 5 秒,冷启动拉镜像与初始化 SDK 就吃掉大半
- 数据库连接、密钥拉取、大依赖加载全放在第一次请求里完成
- 函数并发上限为 1 时突发流量排队,排队时间同样算进 5 秒
- 容器回收后第一批请求必然冷启动,低流量时段几乎条条是冷的
处理步骤#
- 把 SDK 初始化与连接池移到
handler外的全局作用域复用 - 用定时触发器每 5 分钟打一次
/warmup,保持实例常驻 - 缩减依赖体积,冷启动路径上不读大文件、不加载全量 SDK
- 提高预留并发或改用常驻容器,去掉冷启动这层不确定性
- 在日志打印入口与出口时间,确认 P99 低于
3000ms
验收标准#
Logs 里 Response time 的 P90 低于 3 秒,连续 20 条投递没有超时记录。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。