为了防止函数被过度调用导致费用失控,每个账户在当前地域中最多可以同时运行100个实例。同时,函数计算还提供函数级别的实例数限制,防止单个函数过度调用导致实例占用,从而保护后端资源,避免预期外的费用开销。
应用场景
保护函数的正常并发度。
例如,有function-a、function-b两个函数共享账号级别的实例限制数,其中function-a是需要保护的重点业务函数,而function-b有可能被过度调用而影响function-a的正常请求。此时,可以单独为function-b设置实例限制,防止function-b抢占大量的实例数,使function-a分配不到足够的实例。也可以单独为function-a设置并发数,保证该函数一定能分配到指定数量的实例。
保护下游服务。
例如,在函数计算中需要大量访问RDS数据库,由于数据库处理能力有限,您需要保护RDS不被打垮,您可以为访问RDS的函数设置实例限制。
禁止异常函数调用。
例如,如果发现某个函数调用异常,可以设置最大函数实例数为0,禁止其调用。
防止过度调用函数。
例如,浏览器端或客户端用户的操作行为不受控制,设置函数级实例数限制可以防止调用失控而产生意外费用。
使用限制
设置函数弹性实例数上限
管理单个函数
登录函数计算控制台,在左侧导航栏,选择 。
在顶部菜单栏,选择地域,然后在函数列表页面,单击目标函数。
选择弹性配置页签,然后单击函数配额区域的编辑。
在编辑配额面板中,填写弹性实例配额,然后单击确定。
管理多个函数
登录函数计算控制台,在左侧导航栏,选择 。
在函数配额页面,单击创建配额,在创建配额面板,选择目标函数,填写弹性实例配额,然后单击确定。
GPU函数资源配额锁定
设置函数弹性实例数上限后,账号会从总的资源配额中为该函数锁定资源配额,被锁定的资源只能被当前函数使用。以GPU函数的GPU卡资源为例,假设您为函数设置的弹性实例数上限即弹性实例配额为2,不同场景下,为函数锁定的GPU卡资源配额如下表所示:
不同系列GPU卡的总配额,请参见配额与使用限制。
场景示例 | 配额锁定逻辑 | 实际设置 | 函数配额锁定 |
单版本单卡型 | 弹性实例配额 × 单实例卡数 | Tesla系列单卡 | 锁定2张Tesla卡 |
多版本同卡型 | 每个版本按 | 版本1:Tesla系列单卡 版本2:Tesla系列8卡 | 锁定16张Tesla卡 |
多版本跨卡型 | 每种卡型按 | 版本1:Tesla单卡 版本2:Ada.1系列单卡 版本3:Ada.1系列8卡 | 锁定2张Tesla卡+16张Ada.1卡 |