This document lists the quotas and limits that apply to AlloyDB for PostgreSQL.
Quotas
A quota restricts how much of a particular shared Google Cloud resource your Cloud project can use, including hardware, software, and network components.
Quotas are part of a system that does the following:
- Monitors your use or consumption of Google Cloud products and services.
- Restricts your consumption of those resources for reasons including ensuring fairness and reducing spikes in usage.
- Maintains configurations that automatically enforce prescribed restrictions.
- Provides a means to make or request changes to the quota.
When a quota is exceeded, in most cases, the system immediately blocks access to the relevant Google resource, and the task that you're trying to perform fails. In most cases, quotas apply to each Cloud project and are shared across all applications and IP addresses that use that Cloud project.
Google Cloud also offers free trial quotas that provide limited access for projects to help you explore Google Cloud at no charge.
Not all projects have the same quotas. If your Google Cloud usage increases, your quotas might increase.
For more information about quotas, see Working with quotas.
For information specific to quotas imposed by AlloyDB, see Rate quotas.
There are also limits on AlloyDB resources. These limits are unrelated to the quota system.
Permissions for checking and editing quotas
To view your quotas, you must have the
serviceusage.quotas.get
permission.
To change your quotas, you must have the
serviceusage.quotas.update
permission.
These permissions are included by default in the basic IAM roles of Owner and Editor and in the predefined Quota Administrator role.
Check your quotas
By default, the quotas table in the Google Cloud console lists quotas for all services. You can check the current quotas for AlloyDB resources in your project by using the Filter list in the table.
To check the current quotas for AlloyDB resources in your project, complete the following steps:
In the Google Cloud console, go to the Quotas page.
In the quotas table, select Service: AlloyDB API from the Filter list.
Request a quota increase
To request a quota increase, file a support case.
There is no charge for requesting a quota increase. Your costs increase only if you use more resources.
Plan and request additional resources at least a few days in advance to ensure that there is enough time to fulfill your request.
Rate quotas
AlloyDB supports rate quotas, also known as rate limits or API quotas. Rate quotas define the number of requests that you can make to the AlloyDB API. Each rate quota corresponds to all the requests for a group of one or more AlloyDB API methods. Rate quotas reset after a time interval that's specific to the service—for example, the number of API requests per day.
When you use the Google Cloud CLI or the Google Cloud console, you're making requests to the API and these requests count toward your rate limits. If you use service accounts to access the API, those requests also count toward your rate limit.
The rate quotas are enforced and automatically refilled over 60-second (1-minute)
intervals. That means that if your project reaches a rate quota's maximum any time
within 60 seconds, you must wait for that quota to refill before making more
requests in that group. If your project exceeds a rate limit, you receive an HTTP
429
status code with the reason rateLimitExceeded
.
The AlloyDB APIs are divided into six groups based on the operation type. The rate quotas are imposed per minute, per API group, per project, per region, and per user. For each unique combination of these attributes, AlloyDB imposes a separate quota. For example, if 100 users are accessing the Mutate APIs in a single minute for a given project and region, each user is given a default quota in the range of 180—250 requests per minute for each project and region combination.
The default quota range for each group is as follows:
Group name | Description | Default quota range in queries per minute | API methods |
---|---|---|---|
Connect APIs | Establish new connections. | 180-2000 |
|
Get APIs | Read a single resource. | 180-1000 |
|
Get operation API | Get the latest state of a long-running operation. | 950-1400 |
|
List APIs | Read a group of resources of the same type. | 180-1000 |
|
List operations API | List operations that match a specific filter in the request. | 2200-3000 |
|
Mutate APIs | Modify resource state. | 180-250 |
|
Limits
To request a limit increase, file a support case.
Item | Limit |
---|---|
Clusters per project per region | Ranges from 3 to 10. |
vCPUs per project per region | Ranges from 128 to 512. |
Database storage per cluster | By default, the limit is 5 TiB. The maximum supported limit is 16 TiB. |
Read pool nodes per cluster (across all read pool instances) | 20 (15 if all nodes are of the 64 vCPU machine type) |
Maximum concurrent connections per instance | Defaults to 1,000; adjustable up to 240,000 For more information, see Maximum concurrent connections. |
Maximum concurrent connections
AlloyDB limits an instance's maximum
concurrent connections to 1,000, unless you set its max_connections
flag to
a higher value. You can adjust the value of this flag
to as high as 240,000.
When you set the max_connections
flag on a read pool instance, the new value
must match or exceed the max_connections
value of its cluster's primary
instance.