当前位置:

首页 > 系统应用 > 函数计算镜像加速:从分钟到秒的跨越

函数计算镜像加速:从分钟到秒的跨越

本文目录

    作者信息:Shuai Chang,阿里云云原生 Serverless 团队高级技术专家,主导了函数计算同容器技术生态融合以及 FaaS 云原生可观测。体验文档:镜像拉取加速文档:https://help.aliyun.com/document_detail/193075.htmlFaaS 和容器容器

    作者信息:Shuai Chang,阿里云云原生 Serverless 团队高级技术专家,主导了函数计算同容器技术生态融合以及 FaaS 云原生可观测。

    体验文档:镜像拉取加速文档:https://help.aliyun.com/document_detail/193075.html

    FaaS 和容器

    容器镜像因其碘伏式创新成为云原生时代应用部署格式的事实标准。头部云厂商 FaaS (Function-as-a-Service) 服务如阿里云函数计算、AWS Lambda 也相继在2020年支持使用容器镜像部署函数,全面拥抱容器生态。自发布以来,开发者陆续将机器学习、音视频处理、事件驱动离线数据处理、前端自动化等多个场景使用镜像快速无服务器化,提高效率、降低成本。然而,冷启动一直是 Serverless 无法绕开的问题。容器镜像需要将数据通过网络远程下载并解压,对于GB级别的镜像,拉取时间可能高达分钟级别,客观上放大了冷启动副作用,阻碍实时应用的 Serverless 演进。

    函数计算镜像加速功能

    在镜像拉取加速方面,传统做法强调“开发者负责”,比如精简镜像、合理划分镜像层、采用multi-stage构建方式、借助工具(像docker-slim)去除不必要的数据,以及遵循构建的最佳实践等。但这些工作不仅给用户增添了负担,加速效果也有限,而且还存在运行时稳定性的风险。阿里集团拥有超大规模且场景高度复杂的容器环境,在镜像存储和加速技术方面有着深厚的积累,在过去3年的双十一、双十二、春节等大促秒杀场景中,成功应对了极为严苛的挑战。阿里云Serverless与容器镜像、存储等服务深度合作,将内部创新成果应用于函数计算领域:在杭州、北京、上海、美东、美西正式推出了镜像加速功能。这一功能将原本由开发者承担的镜像优化工作转由函数计算负责,进一步帮助开发者提升生产效率,让他们能够更专注于业务创新。

    加速效果

    我们在选择了内部生产环境和开源社区的工作负载,覆盖机器学习、人工智能、前端自动化、Web 应用等7种镜像大小、IO 访问模式、启动命令的不同组合作为 benchmark,部署在 FC 北京区域。如下图所示,函数计算开启镜像加速功能后加速普遍超过 50%,对于机器学习场景中常见的臃肿镜像(如多个团队共享基础镜像, ml-small-import, ml-large-import, ai-cat-or-dog)加速效果更为明显(约 70%-86%),镜像越大优化空间往往越高。

    使用方式

    镜像加速可以通过控制台、CLI 工具或是 FC SDK 开启,详细步骤参加镜像拉取加速文档

    • 方式一:在函数计算控制台函数配置下选择“开启镜像加速”。

    • 方式二:使用 Funcraft 工具部署

    在已有的 CustomContainerConfig 配置下添加 AccelerationType: Default 如需关闭则配置 AccelerationType:

    None CustomContainerConfig: Image: registry-vpc.cn-beijing.aliyuncs.com/fc-demo/python-flask:v0.1 AccelerationType: Default

    功能特点

    FC 镜像加速具备以下特点:

    1. 使用简单:只需在函数上开启镜像加速,函数计算会自动制作加速镜像和缓存,转换完成后(5分钟以内),函数自动采用加速镜像缓存。
    2. 专注业务创新:开发者无需花费时间刻意精简优化镜像大小或严格区分 Serverless 和 Serverfull 应用镜像的构建方式,FC 负责按照应用实际使用数据拉取和解压。
    3. 加速免费,使用门槛低:镜像加速开启不产生额外费用,也不需要开发者额外购买或升级任何其他服务。事实上由于镜像拉取时间变短,相应的请求费用也随之降低。
    4. 极速弹性、缩容到 0、事件触发:FaaS 结合容器镜像已经极大简化了应用迁移至 Serverless,加速功能进一步解锁了实时、准实时工作负载,曾经需要分钟级别的容器启动现在可以几秒内快速启动,真正实现缩容到0。
    镜像拉取为什么慢?

    一个 OCI V1 容器镜像包含多个层(layer),每层都是一个压缩打包的文件系统(文件夹),通常以 tar.gz 格式存储在远端服务(如对象、文件存储)。拉取镜像时步骤如下:

    1. 将各个 layer 对应的 tar.gz 文件完整下载至本地
    2. 每层顺序解压
    3. 将各个层合并(如 Overlay)作为 rootfs 启动容器

    上述步骤虽然简单,却是镜像拉取慢的主要原因:

    • 文件格式缺陷、粗粒度数据分层、顺序解压:gzip 层导致无法细粒度随机读取应用实际需要的数据,且要求所有层单线程顺序解压。实际观察发现镜像层可以通过并发下载提高速度,然而解压环节在 gzip 格式下却很难优化。
    • 低效的压缩/解压缩算法:镜像层采用的 gzip,benchmark gzip 解压速度对比 lz4 平均慢接近9倍。
    • 全量数据下载:同样由于粗粒度的分层和 gzip 格式(不支持 seek),镜像数据不论是否实际有用,都要被完整下载至本地。

    综上原理,镜像拉取时间和镜像大小成正比,而容器镜像构建过程中运行 apt/yum install, 无用的测试、数据文件,构建过程中执行 chmod/chown 等命令造成同一数据复制多份,极易引入大量应用不需要的数据。

    加速原理

    函数计算将阿里集团成熟的镜像加速技术应用在公共云服务中,加速技术围绕两个核心思路:

    • 按需加载:仅读取应用真实需要的数据,极大减少数据传输量
    • 更高效的存储和算法:相同大小的数据,更快地解压

    按需加载

    Benchmark 中包含镜像数据加载率在 12% - 84% 之间,除了镜像较小的 web 应用,大部分场景数据利用率低于 50%。以层(layer)作为数据分发单位的原始镜像被转换成支持细粒度按需读取的数据格式,并存放在延迟和吞吐都更优的存储中。

    高效解压

    除了按需加载带来的下载步骤延时节省,镜像加速技术在数据解压步骤也同样做了大量优化。下图可以看出即使在加载 70% 以上全量数据的情况下,优化效果仍然超过 60%。

    在未来规划中,函数计算正式推出了容器镜像加速功能。它采用按需读取和更高效的解压技术,能在不同场景下实现50%-80%的加速效果,就算是GB级别的镜像,也能在几秒内完成端到端启动。该加速功能与函数计算的极致弹性和事件触发特点相结合,为更多对实时性要求高的工作负载提供了可能。容器应用能够更轻松地享受Serverless特性,真正做到缩容到0以及快速大规模扩容。FC未来还会持续优化冷启动的各个环节,提供极致弹性,承担更多用户责任,让开发者能够专注于业务创新。

    附录:实验场景数据

    参考
    • 函数计算支持容器镜像-加速应用 Serverless 进程
    • New for AWS Lambda – Container Image Support
    • 函数计算镜像拉取加速文档-Docker Slim: Minify and Secure Docker containers (free and open source!)
    • christopher-talke/node-express-puppeteer-pdf-example-awesome-fc/custom-container-docs
    本文内容来源于网友投稿,如有侵权请联系删除。
    作者最新文章
    系统应用
    相关文章 更多
    win10升级新版本后取消开机密码失效怎么修复
    win10升级新版本后取消开机密码失效怎么修复

    Windows 10更新后开机突然要求输入密码?本文解析自动登录失效的真实原因,提供通过netplwiz重新保存凭据、关闭Windows Hello干扰及排查账户策略的完整步骤,助你恢复免密进入桌面。

    win10更新没下载完反复重试该怎么停止任务
    win10更新没下载完反复重试该怎么停止任务

    Windows 10更新下载失败反复重试怎么办?不要直接停用服务。本文教你通过设置页面暂停更新、启用按流量计费连接以及调整活动时间,安全地暂时停止下载任务并避免意外重启。

    win10怎么取消系统准备强制升级新版本
    win10怎么取消系统准备强制升级新版本

    面对Win10强制升级新版本的提示,本文解析家庭版与专业版的应对差异。介绍如何通过暂停更新、设置活动时间临时避让,以及利用组策略控制功能版本。强调Windows 10支持终止后的安全风险,避免使用高风险的禁用服务手段。

    win10组策略找不到更新选项该怎么处理
    win10组策略找不到更新选项该怎么处理

    Win10组策略编辑器中找不到Windows Update选项怎么办?本文分析家庭版与专业版的权限差异,厘清本地策略与域策略的区别,提供设置页替代方案及企业环境排查思路,避免盲目修改注册表或安装非官方补丁。

    win10取消开机密码会影响电脑里的文件安全吗?
    win10取消开机密码会影响电脑里的文件安全吗?

    很多人为了便捷选择取消 Win10 开机密码,这会导致文件丢失吗?本文详解取消密码后文件访问权限的变化、BitLocker 加密的有效性以及更安全的替代方案,帮助用户在便利与数据安全之间做出正确选择。

    win10弹出立即重启更新怎么延后这个操作
    win10弹出立即重启更新怎么延后这个操作

    Win10弹出立即重启更新会打断工作?本文介绍如何通过Windows Update页面安排重启时间、设置活动时段以及暂停后续更新,有效延后重启操作,保护未保存的工作成果。

    win10自动更新在夜间偷偷运行怎么限制
    win10自动更新在夜间偷偷运行怎么限制

    Win10晚上自动下载或重启怎么办?不要直接禁用服务。本文教你通过设置活动时间、安排指定重启时间及短期暂停更新,精准控制Windows Update行为,避免夜间网络占用和意外重启,同时保留系统安全性。

    win10本地账户取消开机密码有哪些简单方法
    win10本地账户取消开机密码有哪些简单方法

    想跳过Win10开机输入密码?本文详解本地账户清空密码、netplwiz自动登录及PIN设置的步骤与区别,同时提醒Microsoft账户和域策略下的限制与风险。

    win10更新重启倒计时怎么取消不让电脑重启
    win10更新重启倒计时怎么取消不让电脑重启

    面对Win10更新重启倒计时,如何通过设置界面取消或延后?本文详解活动时间、安排重启及暂停更新的位置与作用,帮助你在不影响工作的前提下管理系统重启。

    win10取消开机密码重启后还要输密码怎么办?
    win10取消开机密码重启后还要输密码怎么办?

    Win10设置取消密码后重启依然要求输入?这通常不是系统故障,而是自动登录配置错误或睡眠唤醒验证未关闭。本文教你区分本地账户与微软账户,正确设置netplwiz自动登录,并检查锁屏策略,彻底解决开机免密问题。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    macOS软件
    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    Mac软件 更多
    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    灵活计算器
    灵活计算器
    macOS/iOS/Android

    灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

    WINDOWS 更多
    3dmax(3ds max)
    3dmax(3ds max)
    Windows

    Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。