This topic describes the key resource limits of Function Compute, which include function quotas, runtime resources, triggers, layers, regions, and image sizes. This information helps developers, especially new users, avoid unexpected costs that may result from misconfigurations or code errors, such as recursive invocations or infinite loops.
Some Function Compute resources are integrated with Quota Center. You can view the quotas for Function Compute in the Quota Center console and request a quota increase to meet your business needs.
ImportantBy default, Quota Center lets you request quota increases only within a specific range. For some quotas, you can submit a ticket to request an increase beyond this range. The specific quota range is subject to the information displayed in Quota Center.
To ensure your quota request is processed efficiently, provide a detailed description in the Reason field, including the business information requested in the prompt. Requests without this information will be rejected.
For resources that are not managed by Quota Center, if the existing quotas do not meet your business needs, first confirm in the corresponding table in Limits that the quota can be adjusted. To request an increase, submit a ticket or join the DingTalk user group (Group ID: 64970014484).
Manage quotas
Function Compute is integrated with Alibaba Cloud Quota Center. You can view the quotas for Function Compute in the Quota Center console. For more information about Quota Center, see What is Quota Center?.
In the Quota Center console, you can manage the following quotas for Function Compute.
Quota name | Description | Default limit | |
Maximum number of instances | The maximum number of instances in a single region. | 300 (subject to Quota Center) | |
Maximum size of a CPU image | The maximum size of a compressed image that is supported when you deploy a non-GPU function. | 10 GB | |
Maximum size of a GPU image | The maximum size of a compressed image that is supported when you deploy a GPU function. | 30 GB | |
Maximum number of layers for a single function | - | 5 | |
Maximum number of triggers for a single function | - | 50 | |
Limit on the size of a code package | The limit on the size of a code package that is uploaded from the console or a developer tool, or specified from an OSS bucket. The code package must be a compressed ZIP or JAR file. | 500 MB | |
The code package size limit is 500 MB in the China (Hangzhou), China (Shanghai), China (Shenzhen), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Hong Kong), Singapore, Japan (Tokyo), US (Virginia), and Germany (Frankfurt) regions. In other regions, the limit is 100 MB.
Log in to Quota Center.
In the left navigation pane, choose Product List > General Quota.
On the General Quota Product List page, from the Product Category drop-down list, select Elastic Computing and click Function Compute.
On the General Quota List page, you can perform the following tasks:
View quotas: View the description and value for each quota.
Requesting a quota increase: If your current quota is insufficient for your business needs and is adjustable, click Apply in the Actions column. For more information, see Create a quota increase application.
To view the application history for a quota, click Application History in the Actions column.
Limits
The following tables list the limits for Function Compute resources that are not integrated with Quota Center. If the current limits do not meet your business needs and a limit is adjustable, you can submit a ticket or join the DingTalk user group (Group ID: 64970014484) to contact us.
Function resource limits
Limit item | Limit | Adjustable |
Maximum number of NAS mount targets that can be configured for a single function | 5 | No |
Maximum number of OSS mount targets that can be configured for a single function | 5 | No |
Concurrency of a single instance | 1 to 200 | No |
Function runtime resource limits
Limit item | Limit (CPU instance) | Limit (GPU-accelerated instance) | Adjustable |
Temporary disk space | 10 GB | 60 GB | No |
File descriptors | 100,000 | 100,000 | No |
Total number of processes and threads | 1024 | 1024 | No |
Maximum memory size of a function | 32 GB | 32 GB | No |
Maximum runtime of a function | 86,400s | 86,400s | No |
Maximum runtime of an initializer | 300s | 300s | No |
Maximum runtime of a PreStop hook | 90s | 90s | Support |
Payload size of a synchronous call request | 32 MB | 32 MB | No |
Payload size of an asynchronous invocation request | 128 KB | 128 KB | Yes. The maximum value is 256 KB. |
Bandwidth | 1 Gbit/s to 5 Gbit/s | 1 Gbit/s to 5 Gbit/s | No |
Size of a single log entry | 32 KB | 32 KB | No |
Size of a code package (uploaded using an SDK or API, compressed into a ZIP file, and Base64-encoded) | 100 MB | Not applicable | Support |
A ZIP package that you upload using an SDK must be Base64-encoded. This encoding increases the size of the original package. When you create or update a function, the request body contains the code package and other content, such as the function configuration. Ensure that the total size of the Base64-encoded code package and other content in the request body is less than 100 MB.
Instance delivery speed
Item | Limit | Adjustable |
Instance delivery speed | 300 per minute | Support |
Trigger limits
Item | Limit | Can I make adjustments? |
Maximum number of native OSS triggers that can be created for a single bucket | 10 | No |
If the native OSS trigger limit for a single bucket is insufficient, you can use EventBridge-based OSS triggers. EventBridge lets you create up to 50 triggers for a single bucket. For an even higher limit, you can request an increase to the Number of Event Rules for a Single Event Bus quota in EventBridge.
Layer limits
Limit item | Limit (CPU instance) | Limit (GPU-accelerated instance) | Adjustable |
Layer size | 500 MB | 500 MB | Support |
Number of layer versions | 100 | 100 | No |
Total size of layers for a single function | 2 GB | 2 GB | Support |
Resource limits for a single account in a region
Item | Default limit | Adjustable | |
Maximum total number of GPUs | Maximum number of Tesla series GPUs | 10 | Support |
Maximum number of Ada.1 series GPUs | 3 Graphics Processing Units (GPUs) | ||
Maximum number of Ampere series GPUs | 3 | ||
Other GPU types | No cards | ||
Maximum number of GPUs (for on-demand instances) | Maximum number of Tesla series GPUs | 3 GPUs | |
Maximum number of Ampere series GPUs | 3 GPUs | ||
Other GPU types | Zero lag | ||
Limits on accessing other Alibaba Cloud services or resources
If Function Compute is configured to access resources in a VPC, the following network limits apply when your function accesses other Alibaba Cloud services or resources.
You cannot use the private IP address of an ECS instance in a classic network to access resources on the server, such as web services or file systems. You must use a public IP address to access the resources or migrate the server to a VPC.
You cannot use the private IP address of an RDS instance in a classic network to access the instance. You must use its public IP address or migrate the RDS instance to a VPC.
You cannot use a private Endpoint to access an Alibaba Cloud service. You must use a VPC Endpoint or a public Endpoint provided by the service.
Compute node limits for a single account in each region
The scheduling service allocates compute nodes that have logical cores and memory. The following table lists the compute node limits for each region.
The service uses resource pooling to provide burst capacity for up to half of the total vCPU and memory limits. When the pooled resources are exhausted, the scheduling service scales out resources at a specific speed. If the quota is exceeded, a throttling error occurs. For example, if you require 600 vCPUs and 1,200 GB of memory, the first 300 vCPUs and 600 GB of memory are quickly allocated from the resource pool. The remaining 300 vCPUs and 600 GB of memory are allocated at the specified scale-out speed.
Region | CPU (vCPU) | Memory (GB) | Scale-out speed |
China (Hangzhou) | 600 | 1200 | 360 vCPU/minute, 720 GB/minute |
China (Shanghai) | 600 | 1200 | 360 vCPU/minute, 720 GB/minute |
China (Beijing) | 600 | 1200 | 360 vCPU/minute, 720 GB/minute |
China (Zhangjiakou) | 600 | 1200 | 360 vCPU/minute, 720 GB/minute |
China (Shenzhen) | 600 | 1200 | 360 vCPU/minute, 720 GB/minute |
China (Hong Kong) | 300 | 600 | 180 vCPU/minute, 360 GB/minute |
Singapore | 300 | 600 | 180 vCPU/minute, 360 GB/minute |
US (Virginia) | 300 | 600 | 180 vCPU/minute, 360 GB/minute |
China (Qingdao) | 100 | 200 | 60 vCPU/minute, 120 GB/minute |
China (Hohhot) | 100 | 200 | 60 vCPU/minute, 120 GB/minute |
China (Chengdu) | 100 | 200 | 60 vCPU/minute, 120 GB/minute |
Japan (Tokyo) | 100 | 200 | 60 vCPU/minute, 120 GB/minute |
Germany (Frankfurt) | 100 | 200 | 60 vCPU/minute, 120 GB/minute |
Malaysia (Kuala Lumpur) | 100 | 200 | 60 vCPU/minute, 120 GB/minute |
Indonesia (Jakarta) | 100 | 200 | 60 vCPU/minute, 120 GB/minute |
US (Silicon Valley) | 100 | 200 | 60 vCPU/minute, 120 GB/minute |
China (Ulanqab) | 50 | 100 | 30 vCPU/minute, 60 GB/minute |
Thailand (Bangkok) | 50 | 100 | 30 vCPU/minute, 60 GB/minute |
UK (London) | 50 | 100 | 30 vCPU/minute, 60 GB/minute |
South Korea (Seoul) | 50 | 100 | 30 vCPU/minute, 60 GB/minute |
SAU (Riyadh - Partner Region) | 50 | 100 | 30 vCPU/minute, 60 GB/minute |