更新时间:2025-08-18 GMT+08:00
分享

配置函数的快照式冷启动

快照式冷启动概述

FunctionGraph支持基于进程级快照的冷启动加速方案,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该方案带来的冷启动性能提升。

当用户的Java函数启用快照式冷启动后,FunctionGraph会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照,并进行加密缓存。后续调用该函数时会触发冷启动,直接从提前初始化后的应用快照来恢复执行环境,而非重新走一遍初始化流程,以此达到极大提升启动性能的效果。

约束与限制

  • 当前仅Java运行时函数支持配置快照式冷启动。
  • 如果函数强依赖于有状态,需要考虑使用Restore Hook进行状态刷新。
  • 对于强依赖CPU指令集特性的函数,请先工单系统提前联系技术工程师确认是否可以使用快照式冷启动。
  • 依赖硬编码Host环境(如hostname或者hostip)的函数,在迁移到其他主机上时,使用快照式冷启动可能会有问题。请先提前在工单系统提交工单联系技术工程师进行确认,建议避免依赖这些变量。
  • 快照式冷启动当前仅支持基于x86机器开发的应用。

配置快照式冷启动

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 单击函数的名称,进入函数详情页。在“设置”页签下选择“高级设置”。
  3. 开启“快照式冷启动”开关。
    图1 开启快照式冷启动
  4. (可选)如果函数强依赖于有状态,还需配置Restore Hook进行状态刷新,并在函数代码中实现对应的Hook逻辑。
    • Hook超时时间(秒):Hook处理函数的执行超时时间。
    • Hook处理函数:Hook处理函数的入口,格式:[包名].[类名].[执行函数名],不超过128个字符。
    图2 开启Restore Hook

    函数代码中Restore Hook示例如下:

  5. 完成后单击“保存”,保存快照式冷启动配置。
  6. 参考发布新版本发布函数版本,发布版本时开启“快照式冷启动”,触发快照的自动化制作。
    图3 发布新版本
  7. 等待快照制作完成(5分钟超时时间)。
    图4 快照制作中
    图5 快照制作成功
  8. 调用开启了快照式冷启动的Java函数,查看执行日志中的快照式冷启动信息,如图6所示。
    图6 启动日志

相关文档

相关文档