Quote e limiti

Questa pagina fornisce informazioni sulle quote e sui limiti di Cloud SQL. Le quote sono applicate per progetto; i limiti vengono applicati all'istanza o al progetto, a seconda del limite.

Quote

Una quota limita la quantità di una risorsa Google Cloud che il tuo progetto Google Cloud può utilizzare. Cloud SQL è un esempio di questo tipo di risorsa.

Per Cloud SQL, le quote fanno parte di un sistema che esegue le seguenti operazioni:

  • Monitora l'utilizzo o il consumo delle istanze Cloud SQL
  • Limitare il consumo di queste istanze per motivi quali garantire l'equità e ridurre i picchi di utilizzo
  • Mantenere le configurazioni che applicano automaticamente le limitazioni prescritte
  • Fornire un modo per apportare o richiedere modifiche alla quota

Quando una quota viene superata, nella maggior parte dei casi il sistema blocca immediatamente l'accesso all'istanza pertinente e l'attività che stai tentando di eseguire non va a buon fine. Le quote si applicano a ogni progetto Google Cloud e sono condivise tra tutte le istanze che utilizzano il progetto.

Autorizzazioni per controllare e aumentare le quote

Per controllare e aumentare le quote, devi disporre delle seguenti autorizzazioni:

Per impostazione predefinita, queste autorizzazioni sono incluse nei ruoli IAM di base Editor e Proprietario e nel ruolo predefinito Amministratore quota. Se hai bisogno di autorizzazioni aggiuntive, contatta l'amministratore della quota.

Verifica le tue quote

Per controllare le quote attuali per le risorse del tuo progetto, vai alla pagina Quote nella consoleGoogle Cloud e filtra per API Cloud SQL Admin. Queste quote si applicano solo alle chiamate API e non includono le query del database.

Aumentare 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 imminente e consistente dell'utilizzo, fai la richiesta con qualche giorno di anticipo per assicurarti che le quote siano dimensionate in modo adeguato.

Non sono previsti costi per una richiesta di aumento della quota. I costi aumentano solo nel caso si utilizzino più risorse.

Per aumentare le quote:

  1. Nella console Google Cloud , vai alla pagina Quote.

    Vai alla pagina Quote

  2. Filtra per il servizio API Cloud SQL Admin.

    Se non vedi questo servizio, abilita l'API Cloud SQL Admin.

  3. Seleziona le caselle di controllo accanto alle quote che vuoi modificare, quindi fai clic su Modifica quote.

  4. Per ogni quota selezionata, inserisci nel campo Nuovo limite il valore del limite desiderato.

  5. Nel campo Descrizione del motivo, inserisci un motivo per la richiesta di aumento della quota, quindi fai clic su Fine.

  6. Fai clic su Avanti.

  7. Inserisci il tuo nome, l'indirizzo email e il numero di telefono, quindi fai clic su Invia richiesta.

    Se hai difficoltà ad aumentare le quote, invia una richiesta di assistenza.

Come vengono reintegrate le quote per le risorse

Le quote giornaliere vengono reintegrate ogni giorno alla mezzanotte del fuso orario del Pacifico.

Quote e disponibilità delle risorse

Le quote delle risorse rappresentano la quantità massima di risorse di un determinato tipo che puoi creare, se disponibili. Le quote non garantiscono che le risorse siano sempre disponibili. Se una risorsa non è fisicamente disponibile per la tua regione, non puoi creare nuove risorse di quel tipo, anche se hai ancora una quota rimanente nel progetto.

Quote di frequenza

Cloud SQL 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 Cloud SQL Admin.

Ogni quota di frequenza corrisponde a tutte le richieste per una categoria di uno o più metodi dell'API Cloud SQL Admin. Le quote di frequenza vengono reimpostate dopo un intervallo di tempo specifico per Cloud SQL (ad esempio, il numero di richieste API al minuto).

Quando utilizzi gcloud CLI o la console Google Cloud , effettui richieste all'API Cloud SQL Admin e queste richieste vengono conteggiate ai fini delle quote di frequenza. Se utilizzi i service account per accedere all'API, anche queste richieste vengono conteggiate ai fini delle quote di frequenza.

Cloud SQL applica e ricarica automaticamente le quote di frequenza a intervalli di 60 secondi. Se il tuo progetto raggiunge il limite di una quota di frequenza in qualsiasi momento entro 60 secondi, devi attendere che la quota venga ricaricata prima di effettuare altre richieste in quella categoria. Se il tuo progetto supera questo limite, ricevi un codice di stato HTTP 429 con il motivo rateLimitExceeded.

L'API Cloud SQL Admin è suddivisa nelle seguenti categorie:

  • Connessione: cerca i valori necessari per connetterti a un database Cloud SQL.
  • Get:recupera informazioni su una risorsa (ad esempio, un'istanza, un'operazione o un backup).
  • Elenco: elenca le risorse.
  • Modifica:crea, modifica ed elimina le risorse.
  • Predefinito per regione:interagisci con un'istanza Cloud SQL senza connetterti, recuperarla, elencarla o modificarla.
  • Predefinito:elenca i flag di database e i tipi di macchina (livelli) per le istanze Cloud SQL. Le API in questa categoria sono globali.

Cloud SQL impone quote di frequenza per ogni categoria al minuto, per utente e per regione. Per ogni combinazione univoca di questi attributi, Cloud SQL impone un limite di frequenza separato.

L'API Cloud SQL Admin produce metriche dettagliate che possono aiutarti a monitorare l'utilizzo dell'API, le prestazioni dell'istanza Cloud SQL e dell'API e a scoprire i problemi tra l'istanza e l'API. Per saperne di più, consulta Monitoraggio dell'utilizzo delle API.

La tabella seguente fornisce informazioni sulla metrica, sulle API e sul limite predefinito per ogni categoria:

Categoria Metrica API Limite predefinito
Connetti

sqladmin.googleapis.com/connect

Il numero di richieste effettuate al minuto per utente per regione per utilizzare le API in questa categoria.

1000
Ottieni

sqladmin.googleapis.com/get

Il numero di richieste effettuate al minuto per utente per regione per utilizzare le API in questa categoria.

500
Elenco

sqladmin.googleapis.com/list

Il numero di richieste effettuate al minuto per utente per regione per utilizzare le API in questa categoria.

500
Mutate

sqladmin.googleapis.com/mutate

Il numero di richieste effettuate al minuto per utente per regione per utilizzare le API in questa categoria.

180
Valore predefinito per regione

sqladmin.googleapis.com/
default_per_region

Il numero di richieste regionali predefinite effettuate al minuto per utente per regione per utilizzare le API di questa categoria.

180
Predefinito

sqladmin.googleapis.com/default

Il numero di richieste predefinite effettuate al minuto per utente per utilizzare le API di questa categoria.

180

Risolvere i problemi relativi agli errori di limite di frequenza

Poiché Cloud SQL applica quote di frequenza per minuto, per utente e per regione, la pagina Quote di Cloud nella console Google Cloud non mostra l'utilizzo delle quote per utente. Se un singolo utente o account di servizio esaurisce la quota di velocità per utente, l'API Cloud SQL Admin restituisce un codice di stato HTTP 429 Too Many Requests con il motivo rateLimitExceeded. In questo scenario, le metriche aggregate della quota a livello di progetto nella pagina Quote di Cloud potrebbero mostrare che la quota è ancora disponibile.

Per diagnosticare quale account utente o di servizio sta esaurendo un limite di frequenza per utente, completa i seguenti passaggi:

  1. Nella console Google Cloud , seleziona il progetto consumer che avvia le richieste Cloud SQL, quindi vai alla pagina Esplora metriche.
  2. Fai clic su Seleziona una metrica e poi inserisci serviceruntime.googleapis.com/api/request_count nella barra dei filtri. Nei sottomenu, seleziona API utilizzata > API > Conteggio richieste, quindi fai clic su Applica.
  3. Nell'elemento Filtro, aggiungi i seguenti filtri per isolare le richieste limitate:
    1. Fai clic su Aggiungi filtro e poi seleziona response_code. Nella finestra di dialogo del filtro, lascia Comparatore impostato su = (uguale a), inserisci 429 nel campo Valore e poi fai clic su Applica.
    2. Fai di nuovo clic su Aggiungi filtro e poi seleziona service. Lascia Comparatore impostato su = (uguale a), inserisci sqladmin.googleapis.com nel campo Valore e poi fai clic su Applica.
    3. (Facoltativo) Per filtrare in base a un metodo API specifico, fai clic su Aggiungi filtro e poi seleziona method. Lascia Comparatore impostato su = (uguale a), inserisci il nome del metodo nel campo Valore (ad esempio google.cloud.sql.v1.SqlInstancesService.Get) e poi fai clic su Applica.
  4. Nell'elemento Aggregazione, verifica che il primo menu sia impostato su Somma, poi nel secondo menu (accanto a per), seleziona credential_id per raggruppare i conteggi delle richieste in base alle singole credenziali.
  5. Nei risultati, trova l'ID credenziale (credential_id) con il volume più elevato di codici di risposta 429. Questo valore è l'ID client OAuth 2.0 della credenziale dell'utente o del account di servizio che sta esaurendo il limite di frequenza per utente.
  6. Per trovare il account di servizio corrispondente a questo ID client, vai alla pagina Service account nella consoleGoogle Cloud e inserisci l'ID client OAuth 2.0 nella casella del filtro. La voce corrispondente è il account di servizio che sta esaurendo il limite di frequenza per utente.

Per risolvere l'errore dopo aver identificato il account di servizio, applica una o più delle seguenti mitigazioni:

  • Implementa la memorizzazione nella cache lato client: se la tua applicazione esegue spesso il polling dei metadati dell'istanza, ad esempio durante i riavvii dei container o i controlli di integrità, memorizza nella cache i metadati dell'istanza per evitare chiamate ripetute a SqlInstancesService.Get.
  • Applica il backoff esponenziale: assicurati che la logica di ripetizione dei tentativi del client utilizzi il backoff esponenziale con jitter per evitare di inviare burst di richieste che superano il limite di frequenza.
  • Distribuisci i workload tra i service account: se più workload condividono un singolo account di servizio o progetto consumer, crea service account dedicati per ogni workload per evitare che un workload consumi la quota condivisa.
  • Richiedi un aggiustamento della quota: se la tua applicazione richiede un throughput più elevato, richiedi un aumento della quota per le quote di frequenza dell'API Cloud SQL Admin.

Limiti

Esistono limitazioni per alcune risorse Cloud SQL che non vengono ripristinate periodicamente e non vengono mostrate nella pagina Quote della console Google Cloud . Non tutti i limiti possono essere aumentati.

Limiti configurabili

Istanze per progetto

Il numero massimo di istanze che puoi avere in un singolo progetto dipende dall'architettura di rete di queste istanze:

  • Nuova architettura di rete SQL: puoi avere fino a 1000 istanze per progetto.
  • Architettura di rete SQL precedente: puoi avere fino a 100 istanze per progetto.
  • Utilizzo di entrambe le architetture: il limite sarà compreso tra 100 e 1000, a seconda della distribuzione delle istanze nelle due architetture.

Invia una richiesta di assistenza per richiedere un aumento. Le repliche di lettura vengono conteggiate come istanze.

Ti consigliamo di distribuire il numero di istanze su più progetti per ridurre la dipendenza dalle richieste di aumento della quota. In questo modo eviterai potenziali blocchi.

Numero massimo di connessioni simultanee

Il numero effettivo di connessioni utente consentite dipende dalla versione di SQL Server in uso e dai limiti dell'applicazione o delle applicazioni e dell'hardware. SQL Server consente un massimo di 32.767 connessioni utente.

Per informazioni sulla configurazione delle connessioni utente in SQL Server, consulta la documentazione di riferimento.

Precisazioni

Utilizzo della quota per i connettori Cloud SQL

Il proxy di autenticazione Cloud SQL e gli altri connettori Cloud SQL utilizzano la quota dell'API Cloud SQL Admin. I connettori Cloud SQL funzionano eseguendo un'operazione di aggiornamento circa ogni ora. Questa operazione di aggiornamento esegue due chiamate API. Una chiamata recupera i metadati dell'istanza e l'altra recupera un certificato temporaneo.

L'utilizzo della quota viene calcolato come segue:

Quota usage = connector processes running * instances * 2 API calls per hour

Ad esempio, se hai tre processi che eseguono un connettore, il connettore è configurato per connettersi a due istanze Cloud SQL e vengono effettuate due chiamate API per un'ora, il consumo della quota è 12 (3 processi * 2 istanze * 2 chiamate API).

Se stai iniziando a utilizzare Cloud SQL, tieni presente la formula riportata sopra e ricorda quanto segue:

  • La velocità con cui aumenti il numero di nuovi clienti DB

  • La velocità con cui aggiungi altre istanze

  • Utilizzo di service account diversi per ogni applicazione

Autenticazione IAM dei database Cloud SQL

Esiste una quota di accesso al minuto per ogni istanza, che include sia gli accessi riusciti che quelli non riusciti. Quando la quota viene superata, gli accessi non sono disponibili temporaneamente. Ti consigliamo di evitare accessi frequenti e di limitare gli accessi utilizzando le reti autorizzate. La quota per l'autorizzazione degli accessi è di 12.000 al minuto per istanza.

Quota delle regole di forwarding

Ogni istanza Cloud SQL è costituita da una regola di forwarding e da un bilanciatore del carico. Esiste un limite di quota per la regola di forwarding, in base al tipo di bilanciatore del carico a cui punta. Esistono più quote per ogni tipo di regola di forwarding, per progetto, per rete e per gruppo di peering. Esiste anche una regola di override per la quota per rete e per le quote per gruppo di peering per Cloud SQL. Ciò significa che quando aumentiamo la quota per rete per le reti producer, anche la quota per gruppo di peering viene aumentata allo stesso valore.

Il VPC producer Cloud SQL è in peering con il VPC del cliente, quindi spesso raggiungiamo la quota per rete per la rete producer Cloud SQL e la quota per gruppo di peering per il VPC del cliente.

Quando raggiungiamo la quota, alcune operazioni possono non riuscire, tra cui:

  • Operazione di creazione: abbiamo bisogno di nuove regole di forwarding quando creiamo nuove istanze.

  • Operazione di aggiornamento: consentiamo ai clienti di cambiare la rete delle istanze, quindi abbiamo bisogno di nuove regole di forwarding nella nuova rete.

  • Operazione di manutenzione: le regole di forwarding vengono ricreate.

Per evitare problemi, valuta la possibilità di limitare il numero totale di istanze per rete a meno di 500.

Se riscontri un problema, apri una richiesta di assistenza e aumenteremo le quote pertinenti per te.

Limiti fissi

IOPS

IOPS è il numero di operazioni di input/output (o lettura/scrittura) che il disco può elaborare al secondo.

Cloud SQL utilizza macchine virtuali (VM) Compute Engine con dischi di archiviazione permanente. Per informazioni dettagliate sulle caratteristiche prestazionali di VM specifiche, consulta la tabella delle IOPS massime sostenute nella pagina relativa alle prestazioni dei dischi permanenti.

Limite operazioni

I tipi di macchine di livello micro e small limitano il numero di operazioni simultanee. Il superamento di questi limiti causa un errore Too many operations.

Il limite del tipo di macchina db-custom-1-3840 (CPU singola) è di 50 operazioni simultanee.

Limiti di archiviazione di Cloud SQL

Opzioni di archiviazione di Cloud SQL

Per configurare l'opzione di archiviazione in modo da ottenere prestazioni ottimali, è importante conoscere il carico di lavoro e scegliere i valori appropriati per tipo e dimensione del disco. Per ulteriori informazioni sulle opzioni disponibili per Cloud SQL, consulta la pagina dedicata alle impostazioni delle istanze.

Limiti di App Engine

Ogni istanza App Engine in esecuzione nell'ambiente standard non può avere più di 100 connessioni simultanee a un'istanza. Per le app PHP 5.5, il limite è di 60 connessioni simultanee.

Le applicazioni App Engine sono soggette a limiti temporali di richiesta a seconda dell'uso e dell'ambiente. Per saperne di più, scopri come vengono gestite le istanze nell'ambiente standard App Engine standard e negli ambienti flessibili.

Le applicazioni App Engine sono inoltre soggette a ulteriori quote e limiti di App Engine, come illustrato nella pagina relativa alle quote di App Engine.

Limiti di Cloud Run

Se utilizzi la connessione Cloud SQL integrata su Cloud Run, le istanze container Cloud Run sono limitate a 100 connessioni per database Cloud SQL.

Ogni istanza di un servizio o job Cloud Run può avere 100 connessioni al database e, man mano che il servizio o il job scala, il numero totale di connessioni per deployment può aumentare.

Questo limite non si applica quando utilizzi altri metodi di connessione, come il Cloud SQL Auth Proxy in un sidecar, i connettori dei linguaggi di Cloud SQL o quando ti connetti direttamente all'indirizzo IP dell'istanza Cloud SQL.

Limiti di Cloud Run Functions

Cloud Run Functions (1ª generazione.) limita le esecuzioni in parallelo a una per istanza. Non si verifica mai una situazione in cui una singola istanza di funzione di 1ª generazione. elabora due richieste contemporaneamente. Nella maggior parte dei casi, è necessaria un'unica connessione al database.

Cloud Run Functions (2ª generazione.) si basa su Cloud Run e ha un limite di 100 connessioni al database per istanza.

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

Limiti di archiviazione di Cloud SQL

Opzioni di archiviazione di Cloud SQL

Per configurare l'opzione di archiviazione in modo da ottenere prestazioni ottimali, è importante conoscere il carico di lavoro e scegliere i valori appropriati per tipo e dimensione del disco. Per ulteriori informazioni sulle opzioni disponibili per Cloud SQL, consulta la pagina dedicata alle impostazioni delle istanze.

Limiti di App Engine

Ogni istanza App Engine in esecuzione nell'ambiente standard non può avere più di 100 connessioni simultanee a un'istanza. Per le app PHP 5.5, il limite è di 60 connessioni simultanee.

Le applicazioni App Engine sono soggette a limiti temporali di richiesta a seconda dell'uso e dell'ambiente. Per saperne di più, scopri come vengono gestite le istanze nell'ambiente standard App Engine standard e negli ambienti flessibili.

Le applicazioni App Engine sono inoltre soggette a ulteriori quote e limiti di App Engine, come illustrato nella pagina relativa alle quote di App Engine.

Limiti di Cloud Run

Se utilizzi la connessione Cloud SQL integrata su Cloud Run, le istanze container Cloud Run sono limitate a 100 connessioni per database Cloud SQL.

Ogni istanza di un servizio o job Cloud Run può avere 100 connessioni al database e, man mano che il servizio o il job scala, il numero totale di connessioni per deployment può aumentare.

Questo limite non si applica quando utilizzi altri metodi di connessione, come il Cloud SQL Auth Proxy in un sidecar, i connettori dei linguaggi di Cloud SQL o quando ti connetti direttamente all'indirizzo IP dell'istanza Cloud SQL.

Limiti di Cloud Run Functions

Cloud Run Functions (1ª generazione.) limita le esecuzioni in parallelo a una per istanza. Non si verifica mai una situazione in cui una singola istanza di funzione di 1ª generazione. elabora due richieste contemporaneamente. Nella maggior parte dei casi, è necessaria un'unica connessione al database.

Cloud Run Functions (2ª generazione.) si basa su Cloud Run e ha un limite di 100 connessioni al database per istanza.