配置函数的快照式冷启动
快照式冷启动概述
FunctionGraph支持基于进程级快照的冷启动加速方案,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该方案带来的冷启动性能提升。
当用户的Java函数启用快照式冷启动后,FunctionGraph会预先执行函数对应的初始化代码,获取其初始化执行上下文环境的快照,并进行加密缓存。后续调用该函数时会触发冷启动,直接从提前初始化后的应用快照来恢复执行环境,而非重新走一遍初始化流程,以此达到极大提升启动性能的效果。
约束与限制
配置快照式冷启动
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击函数的名称,进入函数详情页。在“设置”页签下选择“高级设置”。
- 开启“快照式冷启动”开关。
图1 开启快照式冷启动
- (可选)如果函数强依赖于有状态,还需配置Restore Hook进行状态刷新,并在函数代码中实现对应的Hook逻辑。
- Hook超时时间(秒):Hook处理函数的执行超时时间。
- Hook处理函数:Hook处理函数的入口,格式:[包名].[类名].[执行函数名],不超过128个字符。
图2 开启Restore Hook函数代码中Restore Hook示例如下:
- 完成后单击“保存”,保存快照式冷启动配置。
- 参考发布新版本发布函数版本,发布版本时开启“快照式冷启动”,触发快照的自动化制作。
图3 发布新版本
- 等待快照制作完成(5分钟超时时间)。
图4 快照制作中图5 快照制作成功
- 调用开启了快照式冷启动的Java函数,查看执行日志中的快照式冷启动信息,如图6所示。
相关文档
- 除使用控制台外,函数工作流支持通过API的方式管理函数的生命周期,详情请参见函数生命周期管理API。
- 在函数实际使用过程中如何进行冷启动优化,请参考FunctionGraph冷启动优化实践。