AlloyDB per PostgreSQL utilizza quote e limiti di sistema per mantenere un'allocazione equa delle risorse, prevenire i sovraccarichi del servizio e aiutarti a gestire l'utilizzo delle risorse.
Le quote e i limiti di sistema sono simili, ma differiscono nei seguenti modi:
- Le quote hanno valori predefiniti, ma in genere puoi richiedere degli adeguamenti.
- I limiti di sistema sono valori fissi che non possono essere modificati.
Quote
Google Cloud utilizza le quote per garantire l'equità e ridurre i picchi di utilizzo e disponibilità delle risorse. Una quota limita la quantità di una Google Cloud risorsa che Google Cloud il progetto può utilizzare. Le quote si applicano a una serie di tipi di risorse, inclusi hardware, software e componenti di rete. Ad esempio, le quote possono limitare il numero di chiamate API a un servizio, il numero di bilanciatori del carico utilizzati contemporaneamente dal tuo progetto o il numero di progetti che puoi creare. Le quote proteggono la community degli utentiGoogle Cloud impedendo il sovraccarico dei servizi. Le quote ti aiutano inoltre a gestire le tue Google Cloud risorse.
Il sistema delle quote di Cloud esegue le seguenti operazioni:
- Monitora il tuo consumo di Google Cloud prodotti e servizi
- Limita il consumo di queste risorse
- Fornisce un modo per richiedere modifiche al valore della quota e automatizzare gli aggiustamenti della quota
Nella maggior parte dei casi, quando provi a utilizzare una risorsa per un volume maggiore di quello consentito dalla quota, il sistema blocca l'accesso alla risorsa e l'attività che stai tentando di eseguire non va a buon fine.
In genere, le quote si applicano a livello di Google Cloud progetto. L'utilizzo di una risorsa in un progetto non influisce sulla quota disponibile in un altro progetto. All'interno di un progetto Google Cloud , le quote vengono condivise tra tutte le applicazioni e gli indirizzi IP.
Per saperne di più, consulta Panoramica delle quote di Cloud.
Non tutti i progetti hanno le stesse quote. Se il tuo utilizzo di Google Cloud aumenta, le tue quote potrebbero aumentare.
Per saperne di più sulle quote, consulta la documentazione di Cloud Quotas.
Per informazioni specifiche sulle quote imposte da AlloyDB, consulta Quote di frequenza e Quote delle risorse.
Esistono anche limiti per le risorse AlloyDB. A differenza delle quote, i limiti di sistema non possono essere modificati.
Autorizzazioni per la verifica e la modifica delle quote
Per visualizzare le quote, devi disporre dell'autorizzazione serviceusage.quotas.get.
Per modificare le quote, devi disporre dell'autorizzazione serviceusage.quotas.update.
Queste autorizzazioni sono incluse per impostazione predefinita nei ruoli IAM di base Proprietario ed Editor, nonché nel ruolo Amministratore quota predefinito.
Verifica le tue quote
Per impostazione predefinita, la tabella delle quote nella console Google Cloud elenca le quote per tutti i servizi. Puoi controllare le quote attuali per le risorse AlloyDB nel tuo progetto utilizzando l'elenco Filtro nella tabella.
Per controllare le quote attuali per le risorse AlloyDB nel tuo progetto, completa i seguenti passaggi:
Nella console Google Cloud , vai alla pagina Quote.
Nella tabella delle quote, fai clic su Filtra.
Seleziona Servizio dall'elenco Proprietà, quindi seleziona API AlloyDB dall'elenco Valori.
Aumenta le quote
Man mano che il tuo utilizzo di Google Cloud aumenta nel tempo, le tue quote possono aumentare di conseguenza. Se prevedi un aumento dell'utilizzo consistente, presenta la richiesta con qualche giorno di anticipo per assicurarti che le quote vengano dimensionate correttamente.
- Nella pagina Quote, fai clic su Filtro.
Seleziona Servizio dall'elenco Proprietà, quindi seleziona API AlloyDB dall'elenco Valori.
Se non vedi l'API AlloyDB, significa che l'API AlloyDB Admin non è abilitata.
Seleziona le quote che vuoi modificare.
Fai clic su Modifica quote.
Inserisci il tuo nome, l'indirizzo email e il numero di telefono, quindi fai clic su Avanti.
Inserisci la richiesta di quota e fai clic su Invia richiesta.
Quote di frequenza
AlloyDB supporta le quote di frequenza, note anche come limiti di frequenza o quote API. Le quote di frequenza definiscono il numero di richieste che puoi effettuare all'API AlloyDB.
Ogni quota di frequenza corrisponde a tutte le richieste per un gruppo di uno o più metodi API AlloyDB. Le quote di frequenza vengono reimpostate dopo un intervallo di tempo specifico per il servizio, ad esempio il numero di richieste API al giorno.
Quando utilizzi Google Cloud CLI o la console Google Cloud , effettui richieste all'API e queste richieste vengono conteggiate ai fini dei limiti di frequenza. Se utilizzi service account per accedere all'API, anche queste richieste vengono conteggiate ai fini del limite di frequenza.
Le quote di frequenza vengono applicate e ricaricate automaticamente a intervalli di 60 secondi (1 minuto). Ciò significa che se il tuo progetto raggiunge il valore massimo di una quota di frequenza in qualsiasi momento entro 60 secondi, devi attendere che la quota venga ricaricata prima di effettuare altre richieste in quel gruppo. Se il tuo progetto supera un limite di frequenza, ricevi un codice di stato HTTP 429 con il motivo rateLimitExceeded.
Le API AlloyDB sono suddivise in sei gruppi in base al tipo di operazione. Le quote di frequenza vengono imposte al minuto, per gruppo di API, per progetto, per regione e per utente. Per ogni combinazione univoca di questi attributi, AlloyDB impone una quota separata. Ad esempio, se 100 utenti accedono alle API Mutate in un singolo minuto per un determinato progetto e una determinata regione, a ogni utente viene assegnata una quota predefinita compresa tra 180 e 250 richieste al minuto per ogni combinazione di progetto e regione.
L'intervallo di quote predefinito per ogni gruppo è il seguente:
| Nome del gruppo | Descrizione | Intervallo di quote predefinito in query al minuto | Metodi dell'API |
|---|---|---|---|
| API Connect | Stabilire nuove connessioni. | 180-2000 |
|
| Ottieni le API | Legge una singola risorsa. | 180-1000 |
|
| API Get operation | Recupera l'ultimo stato di un'operazione a lunga esecuzione. | 950-2000 |
|
| Elenca le API | Leggere un gruppo di risorse dello stesso tipo. | 180-1000 |
|
| API List operations | Elenca le operazioni che corrispondono a un filtro specifico nella richiesta. | 2200-3000 |
|
| API di modifica | Modificare lo stato della risorsa. | 180-250 |
|
Quote delle risorse
AlloyDB supporta le quote delle risorse, note anche come quote di allocazione. Le quote delle risorse sono la quantità massima di risorse che puoi creare per un tipo di risorsa, se queste sono disponibili. Le quote per risorse limitano l'utilizzo di risorse che non hanno una frequenza di utilizzo, ad esempio il numero di istanze di macchine virtuali (VM) utilizzate dal progetto in un determinato momento.
Le quote delle risorse non vengono reimpostate nel tempo. Devi invece intervenire per rilasciare le risorse inutilizzate, ad esempio eliminando un cluster non necessario.
Le quote delle risorse vengono imposte sul numero di cluster e vCPU utilizzati, come descritto in dettaglio nelle sezioni seguenti.
Quote delle risorse sui cluster
Questa quota si applica al numero di cluster per progetto per regione. Il valore predefinito per questa quota varia da 3 a 10 cluster per progetto per regione, a seconda della cronologia di utilizzo del progetto. Il valore massimo supportato per questa quota è 20 cluster per progetto per regione.
Se effettui una richiesta di creazione o ripristino di un cluster utilizzando la console Google Cloud , gcloud CLI o l'API AlloyDB e se ciò comporta una violazione della quota, la richiesta non va a buon fine con un messaggio di errore simile al seguente:
Quota limit 'ClustersUsedPerProjectPerRegion' has been exceeded. Limit: 5 in region us-central1.
Quote delle risorse sulle vCPU
Questa quota si applica al numero di vCPU per progetto per regione. Ogni istanza consuma una parte di questa quota a seconda del numero di VM che utilizza. Ogni istanza principale utilizza due VM. Ogni istanza del pool di lettura utilizza una VM per ogni nodo che contiene. Il numero di vCPU utilizzate da ogni VM viene fornito da te durante la creazione o l'aggiornamento dell'istanza.
Il valore predefinito della quota per tutti i progetti dei clienti è 10.000 vCPU.
Se effettui una richiesta di creazione o aggiornamento di un'istanza utilizzando la console Google Cloud , gcloud CLI o l'API AlloyDB e se ciò comporta una violazione della quota, la richiesta non va a buon fine con un messaggio di errore simile al seguente:
Quota limit 'VCPUsUsedPerProjectPerRegion' has been exceeded. Limit: 128 in region us-central1.
Quote delle risorse sullo spazio di archiviazione
Questa quota si applica alla quantità di dati che possono essere archiviati in ogni cluster. Il valore predefinito di questa quota è 16 TiB per cluster. Il valore massimo supportato è 128 TiB per cluster.
Se effettui una richiesta di scrittura nel database, ad esempio un'istruzione INSERT che comporta una violazione della quota, la richiesta non va a buon fine e viene visualizzato il seguente messaggio di errore:
AlloyDB instance exceeds available storage quota.
Disponibilità delle risorse
Le quote delle risorse non garantiscono che le risorse hardware fisiche siano sempre disponibili in una regione o zona. Se una serie o una forma di macchina specifica non è temporaneamente disponibile nella località target, le operazioni di creazione, avvio o scalabilità di un cluster o di un'istanza possono non riuscire anche se il progetto ha una quota rimanente. Inoltre, poiché AlloyDB gestisce le VM di Compute Engine sottostanti nei progetti tenant gestiti da Google, le prenotazioni di Compute Engine non si applicano alle risorse AlloyDB.
Per mitigare i vincoli temporanei delle risorse, puoi riprovare l'operazione dopo un ritardo, selezionare una serie di macchine o una dimensione vCPU diversa o eseguire il deployment in un'altra regione. Per indicazioni dettagliate, consulta Best practice per la pianificazione della capacità e la disponibilità delle risorse e Best practice per la scalabilità e la disponibilità delle risorse.
Limiti
| Elemento | Limite |
|---|---|
| Nodi del pool di lettura per cluster (in tutte le istanze del pool di lettura) | 20 |
| Numero massimo di connessioni simultanee per istanza | Il limite predefinito varia in base alle dimensioni dell'istanza; regolabile fino al limite massimo supportato da quelle dimensioni |
Numero massimo di connessioni simultanee
Per impostazione predefinita, AlloyDB imposta il numero massimo di connessioni simultanee per un'istanza in base alle sue dimensioni. Per modificare questo limite, imposta il flag max_connections.
Utilizza la tabella seguente per scegliere il valore max_connections in base alle dimensioni dell'istanza:
| VCPU | Memoria (GB) | Valore max_connections predefinito |
Valore max_connections massimo consigliato |
|---|---|---|---|
| 1 | 8 | 100 |
200 |
| 2 | 16 | 100 |
570 |
| 4 | 32 | 200 |
980 |
| 8 | 64 | 400 |
2300 |
| 14 | 112 | 700 |
4000 |
| 16 | 128 | 800 |
4600 |
| 22 | 176 | 1000 |
6300 |
| 32 | 256 | 1000 |
9175 |
| 44 | 352 | 1000 |
12600 |
| 48 | 384 | 1000 |
13760 |
| 64 | 512 | 1000 |
18350 |
| 72 | 576 | 1000 |
20640 |
| 88 | 704 | 1000 |
25230 |
| 96 | 768 | 1000 |
27525 |
| 128 | 864 | 1000 |
30960 |
| 144 | 1152 | 1000 |
41290 |
Prima di impostare il valore, tieni presente quanto segue:
- Quando imposti il flag
max_connectionssu un'istanza del pool di lettura, il nuovo valore deve corrispondere o superare il valoremax_connectionsdell'istanza principale del cluster. - Prima di ridurre le dimensioni di un'istanza esistente, aggiorna di conseguenza il valore del flag
max_connections. In caso contrario, potresti riscontrare problemi. - Ti consigliamo di eseguire un massimo di quattro query contemporanee per vCPU dell'istanza.
- Per i workload che prevedono connessioni a breve termine, valuta l'utilizzo di un pooler di connessioni come pgbouncer o pgpool-II.
- Ti consigliamo di aggiungere un pooler di connessioni lato applicazione, come HikariCP o c3p0.
Se decidi di impostare il valore su un valore superiore ai suggerimenti (fino a 240.000), tieni presente il consumo di memoria aggiuntivo per ogni connessione attiva che ridurrebbe la memoria per il buffer condiviso.
Questo consumo di memoria può essere calcolato moltiplicando il numero di query simultanee per il valore impostato per il flag
work_mem. Il valore predefinito di questo flag è4MBo il numero di vCPU nell'istanza, a seconda di quale sia il valore più alto.
Limiti delle query salvate
| Valore | Limite |
|---|---|
| Numero massimo di query salvate per progetto (incluse le query salvate per altri prodotti Google Cloud ) | 10.000 |
| Dimensione massima per ogni query | 1 MiB |