Quotas and limits

This document lists the quotas and system limits that apply to Service Extensions.

  • Quotas have default values, but you can typically request adjustments.
  • System limits are fixed values that can't be changed.

Quotas

Google Cloud uses quotas to help ensure fairness and reduce spikes in resource use and availability. A quota restricts how much of a Google Cloud resource your Google Cloud project can use. Quotas apply to a range of resource types, including hardware, software, and network components. For example, quotas can restrict the number of API calls to a service, the number of load balancers used concurrently by your project, or the number of projects that you can create. Quotas protect the community of Google Cloud users by preventing the overloading of services. Quotas also help you to manage your own Google Cloud resources.

The Cloud Quotas system does the following:

In most cases, when you attempt to consume more of a resource than its quota allows, the system blocks access to the resource, and the task that you're trying to perform fails.

Quotas generally apply at the Google Cloud project level. Your use of a resource in one project doesn't affect your available quota in another project. Within a Google Cloud project, quotas are shared across all applications and IP addresses.

For more information, see the Cloud Quotas overview.

To adjust most quotas, use the Google Cloud console. For more information, see Request a quota adjustment.

The following quotas apply to Service Extensions. They can be increased on request.

Quotas Value
Number of global authorization extensions in a project 10
Number of global edge extensions in a project 100
Number of global route extensions in a project 100
Number of global traffic extensions in a project 100
Number of authorization extensions per region in a project 10
Number of route extensions per region in a project 100
Number of traffic extensions per region in a project 100
Number of plugins per project per location 100
Cloud Load Balancing only: Number of plugins attached to Application Load Balancers through edge extensions per project 5 at any given point in time
Cloud Load Balancing only: Number of plugins attached to Application Load Balancers through route extensions per project, per location, and per load balancing scheme 5 at any given point in time
Cloud Load Balancing only: Number of plugins attached to Application Load Balancers through traffic extensions per project, per location, and per load balancing scheme 5 at any given point in time
Media CDN only: Number of plugin resources attached to Media CDN services through WasmAction resources per project 5 at any given point in time

Limits

The following sections describe the resource, configuration, and execution limits that apply to Service Extensions.

Resource and configuration limits

There are also system limits on Service Extensions resources. System limits can't be changed.

Service Extensions enforces the following resource and configuration limits:

Limit Value
Number of extension chains per attachment point 5
Number of plugins in an edge extension chain 1
Number of plugins or callouts in a route extension chain 1
Number of plugins or callouts in a traffic extension chain 3
Size of a compiled plugin along with the plugin configuration data 5 MiB
Size of the plugin configuration data when provided directly (by using file upload in the Google Cloud console, the --plugin-config or --plugin-config-file option with the Cloud SDK, or the WasmPluginVersion.plugin_config_data field with the REST API) and not by using Artifact Registry 900 KiB
Number of versions per plugin 100

Plugin usage and execution limits

Service Extensions enforces the following plugin usage and execution limits:

Usage limit Value

Execution duration per request

The duration is the sum of the durations of all Proxy-Wasm callbacks associated with the request. Plugins that exceed the limit are terminated, which causes the associated request to return an HTTP 500 status code.

1 msec

CPU used per request

Maximum normalized vCPU used per plugin invocation. Plugins that exceed this limit are terminated, which causes the associated request to return an HTTP 500 status code.

1 msec

Memory used by a plugin

Maximum allocated memory held by a plugin instance. Plugins that exceed this limit are terminated, which causes the associated request to return an HTTP 500 status code.

16 MiB

Size of the log content emitted by a plugin per invocation

When the limit is exceeded, further logs are dropped.

16 KiB

Number of log entries emitted by a plugin per invocation

When the limit is exceeded, further logs are dropped.

16

Queries per second (QPS) per region for plugins

If you plan to exceed this limit, then contact support.

100k