本文介绍函数计算在服务资源、函数运行资源、触发器、层、地域、镜像大小及GPU卡数等相关资源的使用限制。
本文内容旨在帮助新手用户避免在不了解函数原理时,因误配或者代码有误而造成费用不可控的问题,例如循环调用、死循环等。如果您已清楚函数原理,同时有真实业务需求要求放宽资源限制,并且确认表格中对应的资源限制支持调整,请加入钉钉用户群(钉钉群号64970014484)咨询。
在该资源限制下,仍可能因为预留模式使用不当而造成费用突增。正确的使用方法,请参见实例类型及使用模式。
函数资源限制
限制项 | 资源上限 | 是否支持调整 |
单个函数下最大允许创建的触发器个数 | 50个 | 支持 |
单个函数最多支持配置NAS挂载点个数 | 5个 | 不支持 |
单个函数最多支持配置OSS挂载点个数 | 5个 | 不支持 |
函数运行资源限制
限制项 | 资源上限(CPU实例) | 资源上限(GPU实例) | 是否支持调整 |
临时磁盘空间 | 10 GB | 10 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 | 不支持 |
代码部署包大小(通过SDK/OpenAPI上传,压缩为ZIP并进行Base64编码) | 100 MB | 不涉及 | 支持 |
代码部署包大小(通过控制台、开发者工具上传或通过OSS指定代码包位置,压缩为ZIP或JAR文件) | 500 MB | 不涉及 | 支持 |
镜像大小(未解压前) | 10 GB | 15 GB | 支持 |
带宽 | 1 Gbit/s~5 Gbit/s | 1 Gbit/s~5 Gbit/s | 不支持 |
单条日志大小 | 32 KB | 32 KB | 不支持 |
代码部署包大小限制说明
在函数计算中创建函数或更新函数时,需要上传代码部署包,使用不同方式上传时,代码包大小限制不同,详细如下:
通过SDK/OpenAPI上传的代码包
通过SDK上传的代码包大小限制为100 MB。通过SDK上传的ZIP包必须经过Base64编码,编码会造成原始代码包体积增大,另外,创建或更新函数时,除了代码包,请求body中还会包含函数配置在内的其他内容,因此,请确保Base64编码后的代码包以及请求body中其他内容大小之和小于100 MB。
通过控制台、开发者工具上传或通过OSS指定代码包位置的代码包
在华东1(杭州)、华东2(上海)、华南1(深圳)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、中国香港、新加坡(新加坡)、日本(东京)、美国(弗吉尼亚)和德国(法兰克福)地域,代码部署包的大小放开至500 MB,其余地域的代码部署包大小限制为100 MB。
触发器限制
资源项 | 资源上限 | 是否支持调整 |
原生OSS触发器单Bucket创建触发器上限数 | 10个 | 不支持 |
EventBridge类别的OSS触发器单Bucket创建触发器上限数 | 50个 | 支持 |
层限制
限制项 | 资源上限(CPU实例) | 资源上限(GPU实例) | 是否支持调整 |
层大小 | 500 MB | 500 MB | 支持 |
层版本数量 | 100 | 100 | 支持 |
单个函数的层数量 | 5 | 5 | 支持 |
单个函数的层的总大小 | 2 GB | 2 GB | 支持 |
一个账户单个地域资源限制
资源项 | 资源上限 | 是否支持调整 |
并发实例上限数 | 300个 | 支持 |
单个实例并发度取值范围 | 1~200 | 不支持 |
实例镜像大小限制
实例类型 | 资源上限 | 是否支持调整 |
CPU镜像大小限制 | 压缩后10 GB(对应压缩前docker镜像约20 GB) | 支持 |
GPU镜像大小限制 | 压缩后15 GB(对应压缩前docker镜像约28 GB) | 支持 |
GPU卡数限制
资源项 | 资源上限 | 是否支持调整 |
在单地域的GPU物理卡卡数 说明 GPU实例包括Tesla系列、Ampere系列和Ada系列的GPU实例。 | 30卡 | 支持 |
函数计算访问其他云服务或云资源限制
如果您所在地域已开通函数计算访问VPC内的资源的功能,那么您的函数调用其他云服务或云资源时,会受到以下网络限制。
无法使用经典网络下ECS的内网IP地址访问其服务器上的资源,例如Web服务或者文件系统等。需要使用公网IP地址访问,或者将服务器上的资源迁移到VPC中。
无法使用经典网络下RDS的内网IP地址访问RDS,需要使用其公网IP地址访问,或者将RDS迁移到VPC中。
无法使用云服务提供的内网Endpoint访问云服务,需要使用云服务提供的VPC Endpoint或者公网Endpoint访问。