冷启动 (Cold Start) 一直是 Serverless 领域面临的优化难题之一,华为云创新提出了基于进程级快照的冷启动加速解决方案,致力于在用户几乎无感知的前提下,有效提升应用的冷启动性能; 特别的,Java 应用冷启动速度慢的问题尤为突出。本文以 Java 场景为例,介绍华为云在冷启动性能优化方面的探索历程,并揭秘 90%+ 性能提升背后的技术实现原理。文末我们也提供了 Quick Start,帮助用户更快地上手该新特性。
|问题引言:
Java 应用冷启动速度面临巨大挑战

平台侧时间:
服务侧时间:
框架复杂:Spring 作为一个企业级的框架,为了支持广泛的应用需求,存在大量的可配置和初始化逻辑,并通过复杂的设计模式来支撑这种灵活性。例如,一个 spring-boot-web 的 hello world,依赖的 class 文件就多达 7404 个,见图 2; JVM 的一次编译,到处运行:类加载时,查找类、校验类的开销会随着应用复杂度而增长;同时,在应用刚启动时,方法还没有完全被 JIT 编译完成,因此大部分情况停留在解释执行,影响了应用启动的速度。

华为云的优化探索之路

与图 1 对应,此阶段一般占总耗时的 90% 左右。
Restore 耗时是秒级,相当于将数十秒完整的初始化时间(在图 1 的示例中)缩短至秒级 Restore 耗时,启动性能提升了一个数量级
由于 Image File 是进程运行时的快照,在重建进程之后,会涉及到进程持有状态的有效性更新。例如已建立的外部链接、加载到进程里的缓存信息等。故我们引入了 Restore Hook 的概念,提供手段让业务对这些状态进行刷新,详见 Part IV。

在 Source 机器上启动微服务,通过健康检查和初始化调用后,进行 Checkpoint,停止服务,生成进程快照信息; 在 Source 机器上将进程快照信息和微服务所有相关依赖,进行压缩,加密生成内存快照包,并上传至云端存储。 在 Target 机器上从持久化存储中下载对应微服务的内存快照包,进行解压恢复。 在 Target 机器上 Restore 微服务进程;


CRIU 首先通过操作系统的 /proc 目录获取指定进程和该进程下所有子进程的信息,包含文件描述符 (/proc/$pid/fd)、管道参数、网络配置和内存映射文件 (/proc/$pid/maps) 等; CRIU 接着通过 Linux 的 ptrace syscall 接口把一段特殊代码动态注入到该进程的地址空间,通过执行该动态代码,CRIU 以 UNIX 守护进程的方式收集 dumpee 进程存放在寄存器里的内存数据; CRIU 将所有进程信息都收集完毕后,再次调用 ptrace 接口,去掉动态注入的代码,恢复该进程的原有代码; CRIU 根据收集的进程内存信息,生成多个以功能分类的镜像文件,并默认杀死进程,完成 Checkpoint;
CRIU 解析 Checkpoint 阶段生成的镜像文件,并分析多进程的共享资源; CRIU 通过 Linux 的 fork 接口重新构建、恢复进程和其共享资源; CRIU 恢复所有任务的资源,但不包含内存映射地址,定时器,线程等; CRIU 根据镜像文件重新映射内存空间,切换进程上下文,恢复进程的继续执行,完成 Restore;

不难发现,Restore Hook 需要应用本身进行少量的代码适配。为了进一步简化应用的改造负担,我们也进行了一种新的技术尝试,可以理解其充当了用户应用与 BaaS 之间的纽带,通过状态卸载等手段,对开发者透明,帮助应用完成状态的自动化刷新。这部分探索会在后续的技术博文中跟大家分享,敬请期待。
|效果实测:
Java 冷启动时延降低 90%+

基于华为云 FunctionGraph 的简单实战







|总结与展望
[2]https://wiki.openjdk.org/display/HotSpot/Application+Class+Data+Sharing+-+AppCDS
[3]https://spring.io/blog/2019/03/14/lazy-initialization-in-spring-boot-2-2
[4]https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-scanning-index
[5]https://github.com/checkpoint-restore/criu
[6]https://speakerdeck.com/udzura/introduction-to-criu?slide=32
[7]https://support.huaweicloud.com/functiongraph/index.html
原文标题:华为云发布冷启动加速解决方案:助力Serverless计算速度提升90%+
文章出处:【微信公众号:华为DevCloud】欢迎添加关注!文章转载请注明出处。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
华为
+关注
关注
218文章
36212浏览量
262706
原文标题:华为云发布冷启动加速解决方案:助力Serverless计算速度提升90%+
文章出处:【微信号:华为DevCloud,微信公众号:华为DevCloud】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
华为在MWC 2026正式发布新一代智能电信云解决方案TICC 2.0
在MWC26巴塞罗那期间举行的Agentic Core峰会上,华为正式发布了全新一代智能电信云解决方案TICC 2.0(Telco Intelligent Converged Clou
华为面向全球正式发布Agentic Core解决方案
在MWC26 巴塞罗那期间举办的产品与解决方案发布会上,针对智能体互联网时代的AI-Centric网络,华为云核心网产品线总裁高治国面向全球正式发布 AgenticCore
华为携手伙伴发布行业数智融合解决方案合作计划
GITEX GLOBAL 2025期间,华为联合山东比特智能公司(以下简称“比特智能”)及韩国Solum,正式启动“华为行业数智融合解决方案伙伴计划”,
华为发布全新升级星河AI MSP云管服务解决方案
华为数据通信创新峰会2025(HNS 2025)欧洲站期间,MSP(Managed Service Provider,云管理服务提供商)高层圆桌会议在慕尼黑成功举办。会上,华为发布全
软通动力携手华为云推出iPaaS海外集成迁移联合解决方案
华为全联接大会2025中,软通动力携手华为云正式发布基于华为云ROMA Connect平台的“i
亚马逊云科技推出Amazon DocumentDB Serverless,简化数据库管理并大幅节省成本
北京2025年8月15日 /美通社/ -- 亚马逊云科技日前宣布,Amazon DocumentDB Serverless已正式可用,这是Amazon DocumentDB(兼容MongoDB
SIP 广播对讲与华为视频会议融合解决方案
SIP 广播对讲与华为视频会议融合解决方案
SIP 广播对讲与华为视频会议融合解决方案,是基于 SIP 协议将广播对讲系统与华为视频会议系统
发表于 07-12 10:57
软通动力携手华为云推出AI知识引擎与数据工程融合创新解决方案
在华为开发者大会2025中,软通动力携手华为云以华为云昇腾AI、盘古大模型、ModelArts等为技术底座,全新升级数据治理基线
华为AI UBB解决方案加速网络迈向高阶智能
解决方案,包括AI FAN、AI OTN、AI WAN和ADN四大部分,端到端覆盖家庭网络、承载网络和UBB智能管控系统。AI UBB解决方案通过端到端设备内生智能和全面能力提升,为AI应用提供极致体验,实现高品质入算和高效算力
鸿蒙5开发宝藏案例分享---冷启动优化案例分享
程
?非必要资源延迟加载
?首屏数据本地缓存优先
优化后我们的应用冷启动速度提升300%+!这些宝藏案例都在官方性能优化文档中,强烈建议大家仔细研究。
最后送大家一句话 :性能优化不是玄学,用对工具+用对方法=用户体验飙升!遇到
发表于 06-12 17:22
HarmonyOS5云服务技术分享--Serverless抽奖模板部署
手把手教你部署HarmonyOS Serverless抽奖活动模板(附贴心提醒)
嘿,小伙伴们!今天给大家分享一个超实用的教程——如何用华为HarmonyOS的Serverless模板快速搭建抽奖
发表于 05-22 20:25
HarmonyOS5云服务技术分享--Serverless搭建抽奖
✨【实战指南】手把手教你用华为AGC Serverless模板快速搭建抽奖活动✨
嗨各位开发者小伙伴!今天给大家分享一个超实用的技巧——用华为应用市场AGC的Serverless模板三
发表于 05-22 20:20
HarmonyOS5云服务技术分享--ArkTS开发Node环境
? 性能优化
冷启动优化:保持函数轻量(建议代码包<10MB),使用require按需加载模块。
缓存机制:利用云数据库存储高频访问数据,减少重复计算。
⚠️ 常见问题
发表于 05-22 17:21
快手上线鸿蒙应用高性能解决方案:数据反序列化性能提升90%
近日,快手在Gitee平台上线了鸿蒙应用性能优化解决方案“QuickTransformer”,该方案针对鸿蒙应用开发中广泛使用的三方库“class-transformer”进行了深度优化,有效提升
发表于 05-15 10:01
华为云发布冷启动加速解决方案:助力Serverless计算速度提升90%+
评论