更新时间:2024-12-02 GMT+08:00

配置快照式冷启动

概述

华为云发布的基于进程级快照的冷启动加速方案,是一种性能优化服务,用户无需额外付费,只需进行简单的配置、少量的代码修改,即可享受到该创新方案带来的冷启动性能提升。

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

约束与限制

  • 仅支持Java函数。
  • 如果应用函数强依赖于有状态,需要考虑使用Restore Hook进行状态刷新。
  • 对于强依赖CPU指令集特性的函数,请先提前与客服确认。
  • 依赖硬编码的host 环境(例如 hostname, 或者 hostip)的函数在迁移到其他主机上的时候,可能会有问题。建议避免依赖这些变量,请先提前与客服确认。
  • 当前仅支持基于x86机器开发的应用。

前提条件

  • 已创建Java函数。

操作步骤

  1. 登录 FunctionGraph 控制台,配置 Java 函数,并打开“快照式冷启动”开关。
    图1 开启快照式冷启动
  2. (可选)配置 Restore Hook,并在函数代码中实现对应的 Hook 逻辑。
    图2 开启Restore Hook

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

  3. 函数发布新版本后,触发快照的自动化制作。
    图3 发布新版本
  4. 请耐心等待快照制作完成(5min 超时时间)。
    图4 快照制作中
    图5 快照制作成功
  5. 调用 Java 函数,体验快照优化后的性能提升。