快照功能

函数计算默认使用弹性实例,即按请求自动弹性,收到请求时系统自动创建实例处理请求,无请求后实例自动回收。通过函数计算的快照功能,可以解决弹性实例首次处理请求时存在的冷启动问题,同时低成本锁定CPU/GPU弹性资源,保障业务的刚性交付能力。此外,针对WebSocket、gRPC等业务强依赖会话亲和场景,使用快照能够实现Session亲和调度及长连接保持等,确保高实时交互的稳定性。

背景信息

无快照时,函数计算通过设置CPU/GPU的预留实例来解决准实时场景下冷启动效率问题,但随着AI技术的快速发展和应用场景的不断拓展,预留实例无法解决以下痛点:

  1. 无法满足实时场景下极致效率:如智能座舱等人机交互的实时场景,要求首次推理能做到毫秒级响应,而GPU的预留实例只能做到秒级别。

  2. 无法做到低成本锁定弹性资源:GPU卡资源稀缺已经成为业内共识,如果要保证刚性交付,只能提前囤卡锁定弹性资源,函数计算的GPU预留实例相比购买GPU服务器便宜,但依然做到无法低成本锁卡。

为了解决以上痛点,函数计算新增快照功能,不同的快照类型,满足不同场景的时延要求,更好地服务于实时、准实时场景,并且能够提前锁定弹性资源保障刚性交付。

快照功能简介

功能描述

快照是指预先对容器实例制作快照,并由系统侧保存该快照,无需用户感知,并且对业务侧透明。当请求到达时,基于该快照迅速启动实例执行请求。

GPU业务下,毫秒级快照冷启动效率 <=1 毫秒,秒级快照冷启动效率在2秒~,具体值和模型大小相关。

下面介绍AI推理场景下,不同弹性配置首次推理冷启动耗时对比。

image

进一步以SD-v1Qwen-14B模型推理场景为例,使用不同类型快照后,冷启动时长优化效果见下图。

image

适用场景

  • 毫秒级快照推荐场景(实时)

    主要适用于极低延时、核心主链路成功率要求高不接受长时间重试、业务潮汐特征明显以及想要提高资源利用率的场景。

    您的工作负载应具有以下一个或多个特征:

    • 低延迟 单次请求的处理时效性要求高,RT(Response Time)延迟要求严格,90%的长尾延时普遍在百毫秒级别。 典型场景为实时流媒体生产场景,例如互动连麦、直播带货、超低延时播放等,音视频流均需要以极低的延迟在端到端之间进行传播,AI视频超分、AI视频识别的实时性需要保证。

    • 主链路 普遍位于业务核心链路,推理成功率要求高,不接受长时间重试。 例如开屏广告推荐或首页产品推荐场景,需根据用户的行为喜好,在应用开屏时进行用户行为的推荐,并实时地展现在用户终端上。

    • 波峰波谷 业务流量具有明显的潮汐特征,流量高峰通常集中在特定时间段,为了应对流量高峰,需要购置大量GPU资源,而流量低谷时,资源可能被闲置导致资源利用率较低。 例如短视频推荐、在线教育和电商促销活动等场景。

  • 秒级快照推荐场景(准实时、异步)

    适用于调用稀疏能容忍冷启动、单次调用耗时长以及触发调用后需要立即响应的异步推理场景。

    您的工作负载应具有以下一个或多个特征:

    • 调用稀疏,延迟容忍度高 日均调用几次到几万次,日均GPU实际使用时长远低于8~12小时,GPU存在大量闲置,且业务对冷启动不敏感。 典型场景如非实时数据分析、低频批量任务处理等。

    • 单次处理耗时长 任务执行时间从秒级到小时级不等,且对响应时间不敏感,无需实时获取结果,支持异步轮询或回调通知。 典型场景如音视频转码、影视特效渲染等耗时较长以及可以容忍延迟的AI推理场景。 提交后立即返回(异步交互) 任务需要在触发调用后立即得到返回,不因长耗时处理阻塞业务主逻辑运行。 典型场景如音视频处理和数据ETL处理,将较大的音视频分割成多个任务并行处理,或者在ETL流程中,将提取数据、转换处理和加载数据异步处理。

    • 实时感知任务状态 离线GPU任务需要查看执行中的状态以及中途主动取消执行的能力。 典型场景如AI交互,用户可中途调整生成参数或取消任务,如调整AIGC的生图风格。

    • 数据源集成与并行处理

      离线GPU任务对数据源的需求多种多样,处理过程中需要与多种存储产品(例如对象存储OSS)和多种消息产品(例如消息队列)进行频繁交互。例如从OSS读取原始数据,处理后写入云数据库等跨平台数据处理场景。

      离线GPU任务需要处理大量数据,对GPU资源供给要求高,并行运行加快处理速度。例如并行执行图片压缩,语音转写等高吞吐计算场景。

建议延时敏感型场景都开启快照功能。开启之后,平台将优先通过快照来承载业务请求,基于快照启动的弹性实例优化了冷启动问题。

如何配置快照

您可以在创建函数阶段设置快照类型和默认快照数,也可以在函数创建之后在函数详情页的弹性配置页签,观测弹性实例和快照的变化趋势然后调整快照的数量,解决冷启动的同时实现进一步降本,详见配置快照策略

image

计费说明

函数使用费用=弹性实例使用费用+未使用的快照费用,详细说明如下:

  • 未配置快照

    函数使用费用仅包括弹性实例使用费用,计费时长为从请求开始到请求结束。

  • 已配置快照

    • 处理请求期间:基于快照启动了弹性实例,此时,快照不再计费,只收取弹性实例费用,弹性实例计费时长为从请求开始到请求结束。

    • 未处理请求期间:未基于快照启动弹性实例,快照部分需要计费,此时仅按照秒级/毫秒级快照单价收取快照费用。

快照费用仅为最小保底费,单价远低于弹性实例费用。关于弹性实例、秒级快照和毫秒级快照的定价及费用计算方式,请参见计费概述

更多信息

  • 为了提高资源利用率,您可以根据业务波峰波谷特性设置快照的弹性策略,即在指定时间段或满足指定条件后对快照进行扩缩容。具体操作,请参见实例伸缩限制及弹性策略

  • 如果需要限制某个函数的实例上限,请参见配置实例数上限