函数计算提供性能实例和弹性实例两种实例类型。本文介绍两种实例的区别、实例规格、注意事项和使用模式。

实例类型

  • 弹性实例:函数计算基本实例,规格从128 MB到3 GB,主要适用于突发流量场景,例如活动、大型促销和红包等。
  • 性能实例:大规格实例,规格区间范围包含4 GB、8 GB、16 GB和32 GB。资源上限更高,主要适用于计算密集型场景,如音视频处理、AI建模和企业级Java应用等场景。

更多信息,请参见资源使用限制

您可以在创建函数或更新函数时指定期望的实例类型和实例规格。具体操作,请参见创建函数更新函数。当您选择性能实例时,您的函数将运行在计算能力更高的实例中。

实例规格

  • 弹性实例
    内存大小(MB) 代码包大小上限(MB) 函数执行时长上限(s) 磁盘大小(MB)
    128~3072 50 600 512
  • 性能实例

    性能实例包含以下实例规格,您可以根据业务需求选择不同配置的实例。

    CPU(核) 内存规格(GB) 代码包大小(MB) 函数执行时长(s) 磁盘大小(GB) 带宽能力(Gbps)
    2 4 500 7200 10 1
    4 8 500 7200 10 1.5
    8 16 500 7200 10 2.5
    16 32 500 7200 10 5

注意事项

性能实例因为资源规格较大,扩缩容能力不如弹性实例。若您的业务对性能实例有明确诉求,同时又期望能降低冷启动时间或者提高资源利用率,建议您参考如下方案:

  • 预留模式:解决性能实例冷启动问题的最佳方案,建议根据业务资源预算选择固定数量预留、根据波峰波谷特性选择指定时间段预留,或者按照水位阈值自动伸缩的方案。预留后能明显提高性能实例场景的平均冷启动时延。
  • 单实例多并发:解决性能实例资源利用率问题的最佳方案,建议根据业务对资源的诉求,配置性能实例为多并发,这样当多个任务同时在一个实例上执行时,CPU或者内存将被抢占式共享,有效提高资源利用率。

实例模式

性能实例和弹性实例均支持两种实例模式:按量模式和预留模式。两种实例模式说明如下:

  • 按量模式

    在按量模式下,函数计算系统自动为函数分配和释放实例。该模式下,函数执行时长的计量从请求执行函数开始,到请求执行完毕结束。按量模式下同一个实例同一时间可以执行一个请求,也可以并发执行多个请求。更多信息,请参见单实例多并发简介

    • 单实例单并发执行时长
      按量模式下一个实例执行一个请求时,执行时长的计量是从请求到达实例开始,到请求执行完毕为止。instanceconcurrency=1
    • 单实例多并发执行时长

      按量模式下一个实例并发执行多个请求时,执行时长的计量是从第一个请求到达实例开始,到最后一个请求执行完毕为止。并发执行请求时可以复用资源节省费用。

      instanceconcurrency>1
    注意 按量付费场景下,两种实例使用按量模式时的执行时长计量粒度不同:
    • 弹性实例:计量粒度为1毫秒。
    • 性能实例:计量粒度为1毫秒,总计费时长小于1分钟按1分钟计算。例如一个性能实例按量模式下运行时长为51毫秒,将按照1分钟计量;运行时长为60001毫秒,则按照实际时长60001毫秒计量。
  • 预留模式
    预留模式是由您分配、释放和管理函数的实例。更多信息,请参见预留模式简介。该模式下,函数执行时长的计量是从函数计算系统启动预留函数实例开始,到您主动释放为止。因此,即使预留模式下实例未执行任何请求,只要没有释放实例,您都需要为实例付费。On-Demand Resources
    注意 按量付费场景下,两种实例使用预留模式时的执行时长计量粒度均为1秒,不足1分钟按1分钟计量。例如一个实例预留模式下运行时长为51秒,将按照1分钟计量;运行时长为61秒,则按照实际时长61秒计量。

更多信息