本文介绍函数计算在资源使用上的关键限制,包括函数配额、运行资源、触发器、层、地域和镜像大小等。帮助开发者,尤其是新手用户避免在不了解函数原理时,因误配或者代码有误而造成费用不可控的问题,例如循环调用、死循环等。
函数计算部分资源使用已接入配额中心,您可以通过配额中心控制台查看函数计算的配额额度,并根据业务情况申请调整配额。
重要配额中心默认允许一定额度范围内申请,部分配额在规定范围之外可通过提交工单申请进一步提升,具体额度以配额中心为准。
为了提高配额申请效率,在申请配额时,必须充分说明理由,按照申请理由中的引导文案,提供业务相关信息,否则会被拒绝。
针对未接入配额中心的资源使用项,如果现有资源额度不能满足业务需求,请先从使用限制对应表格中确认其支持调整,然后通过提交工单或者加入钉钉用户群(群号:64970014484)申请。
管理配额
函数计算已成功接入阿里云配额中心,您可以通过配额中心控制台查看函数计算的配额额度。配额中心的更多信息,请参见什么是配额中心。
在配额中心控制台,您可以管理以下函数计算的配额。
配额名称  | 描述  | 默认限制  | |
实例数上限  | 单个地域的实例数量上限  | 100个(以配额中心为准)  | |
CPU镜像大小上限  | 非GPU函数部署时支持的压缩后镜像大小上限  | 10GB  | |
GPU镜像大小上限  | GPU函数部署时支持的压缩后镜像大小上限  | 15GB  | |
单个函数的层的数量上限  | -  | 5个  | |
单个函数的触发器数量上限  | -  | 50个  | |
代码部署包大小限制  | 通过控制台、开发者工具上传或通过OSS指定代码包位置的代码包大小限制(压缩为ZIP或JAR文件)  | 500MB  | |
代码部署包大小限制在华东1(杭州)、华东2(上海)、华南1(深圳)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、中国香港、新加坡(新加坡)、日本(东京)、美国(弗吉尼亚)和德国(法兰克福)地域,代码部署包的大小放开至500 MB,其余地域的代码部署包大小限制为100 MB。
使用限制
函数计算未接入配额中心的资源使用限制。如果现有资源不能满足业务需求,并且确认表格中对应的资源项上限支持调整,可以通过提交工单或者加入钉钉用户群(群号:64970014484)与我们联系。
函数资源限制
限制项  | 资源上限  | 是否支持调整  | 
单个函数最多支持配置NAS挂载点个数  | 5个  | 不支持  | 
单个函数最多支持配置OSS挂载点个数  | 5个  | 不支持  | 
单个实例并发度  | 1~200  | 不支持  | 
函数运行资源限制
限制项  | 资源上限(CPU实例)  | 资源上限(GPU实例)  | 是否支持调整  | 
临时磁盘空间  | 10 GB  | 60 GB  | 不支持  | 
文件描述符  | 100000  | 100000  | 不支持  | 
进程和线程总数  | 1024  | 1024  | 不支持  | 
函数最大申请内存  | 32 GB  | 32 GB  | 不支持  | 
函数最大运行时间  | 86400s  | 86400s  | 不支持  | 
Initializer最大运行时间  | 300s  | 300s  | 不支持  | 
PreStop最大运行时间  | 90s  | 90s  | 支持  | 
函数同步调用请求正文有效负载大小  | 32 MB  | 32 MB  | 不支持  | 
函数异步调用请求正文有效负载大小  | 128 KB  | 128 KB  | 支持,最大支持调整到256 KB  | 
带宽  | 1 Gbit/s~5 Gbit/s  | 1 Gbit/s~5 Gbit/s  | 不支持  | 
单条日志大小  | 32 KB  | 32 KB  | 不支持  | 
代码部署包大小(通过SDK/API上传,压缩为ZIP并进行Base64编码)  | 100 MB  | 不涉及  | 支持  | 
上表中通过SDK上传的ZIP包必须经过Base64编码,编码会造成原始代码包体积增大,另外,创建或更新函数时,除了代码包,请求body中还会包含函数配置在内的其他内容,因此,请确保Base64编码后的代码包以及请求body中其他内容大小之和小于100 MB。
实例交付速度
资源项  | 资源上限  | 是否支持调整  | 
实例交付速度  | 300个/分钟  | 支持  | 
触发器限制
资源项  | 资源上限  | 是否支持调整  | 
原生OSS触发器单Bucket创建触发器上限数  | 10个  | 不支持  | 
如果原生OSS触发器单Bucket创建触发器上限数无法满足您的需求,您可以使用EventBridge类别的OSS触发器,支持单Bucket创建50个触发器,您还可以向事件总线申请提升单个总线下事件规则数量配额,进一步提升单Bucket支持创建的触发器个数。
层限制
限制项  | 资源上限(CPU实例)  | 资源上限(GPU实例)  | 是否支持调整  | 
层大小  | 500 MB  | 500 MB  | 支持  | 
层版本数量  | 100  | 100  | 不支持  | 
单个函数的层的总大小  | 2 GB  | 2 GB  | 支持  | 
单账户单地域资源限制
资源项  | 默认限制  | 是否支持调整  | |
GPU总卡数上限  | Tesla系列GPU卡数上限  | 10卡  | 支持  | 
Ada.1系列GPU卡数上限  | 3卡  | ||
Ampere系列GPU卡数上限  | 3卡  | ||
其他GPU卡型  | 0卡  | ||
GPU卡数上限(随请求弹性创建的实例占用的卡数)  | Tesla系列GPU卡数上限  | 3卡  | |
Ampere系列GPU卡数上限  | 3卡  | ||
其他GPU卡型  | 0卡  | ||
函数计算访问其他云服务或云资源限制
如果您所在地域已开通函数计算访问VPC内的资源的功能,那么您的函数调用其他云服务或云资源时,会受到以下网络限制。
无法使用经典网络下ECS的内网IP地址访问其服务器上的资源,例如Web服务或者文件系统等。需要使用公网IP地址访问,或者将服务器上的资源迁移到VPC中。
无法使用经典网络下RDS的内网IP地址访问RDS,需要使用其公网IP地址访问,或者将RDS迁移到VPC中。
无法使用云服务提供的内网Endpoint访问云服务,需要使用云服务提供的VPC Endpoint或者公网Endpoint访问。
单账号各地域计算节点限制
调度服务为用户提供逻辑核和内存计算节点,各地域的计算节点限制如下表所示。
通过池化提供计算节点总限制一半的核和内存突发能力,当池化资源耗尽时,调度服务将以一定的扩容速度扩容,超过限额时产生限流错误。例如,您需要600 vCPU和1200GB内存,前300 vCPU和600GB内存将通过池化快速扩容完成,后300 vCPU和600GB内存将以指定的扩容速度完成扩容。
地域  | CPU(vCPU)  | 内存 (GB)  | 扩容速度  | 
华东1(杭州)  | 600  | 1200  | 360 vCPU/分钟、720GB/分钟  | 
华东2(上海)  | 600  | 1200  | 360 vCPU/分钟、720GB/分钟  | 
华北2(北京)  | 600  | 1200  | 360 vCPU/分钟、720GB/分钟  | 
华北3(张家口)  | 600  | 1200  | 360 vCPU/分钟、720GB/分钟  | 
华南1(深圳)  | 600  | 1200  | 360 vCPU/分钟、720GB/分钟  | 
中国香港  | 300  | 600  | 180 vCPU/分钟、360GB/分钟  | 
新加坡  | 300  | 600  | 180 vCPU/分钟、360GB/分钟  | 
美国(弗吉尼亚)  | 300  | 600  | 180 vCPU/分钟、360GB/分钟  | 
华北1(青岛)  | 100  | 200  | 60 vCPU/分钟、120GB/分钟  | 
华北5(呼和浩特)  | 100  | 200  | 60 vCPU/分钟、120GB/分钟  | 
西南1(成都)  | 100  | 200  | 60 vCPU/分钟、120GB/分钟  | 
日本(东京)  | 100  | 200  | 60 vCPU/分钟、120GB/分钟  | 
德国(法兰克福)  | 100  | 200  | 60 vCPU/分钟、120GB/分钟  | 
马来西亚(吉隆坡)  | 100  | 200  | 60 vCPU/分钟、120GB/分钟  | 
印度尼西亚(雅加达)  | 100  | 200  | 60 vCPU/分钟、120GB/分钟  | 
美国(硅谷)  | 100  | 200  | 60 vCPU/分钟、120GB/分钟  | 
华北6(乌兰察布)  | 50  | 100  | 30 vCPU/分钟、60GB/分钟  | 
泰国(曼谷)  | 50  | 100  | 30 vCPU/分钟、60GB/分钟  | 
英国(伦敦)  | 50  | 100  | 30 vCPU/分钟、60GB/分钟  | 
韩国(首尔)  | 50  | 100  | 30 vCPU/分钟、60GB/分钟  | 
沙特(利雅得)  | 50  | 100  | 30 vCPU/分钟、60GB/分钟  |