Questo documento elenca le quote e i limiti che si applicano ad App Engine.
Una quota limita la quantità di una particolare risorsa Google Cloud condivisa che il tuo progetto Cloud può utilizzare, inclusi hardware, software e componenti di rete.
Le quote fanno parte di un sistema che:
- Monitora l'utilizzo o il consumo di prodotti e servizi Google Cloud.
- Limita il consumo di tali risorse per motivi quali l'equità e la riduzione dei picchi di utilizzo.
- Mantiene le configurazioni che applicano automaticamente le limitazioni prescritte.
- Fornisce un mezzo per apportare o richiedere modifiche alla quota.
Quando una quota viene superata, nella maggior parte dei casi il sistema blocca immediatamente l'accesso alla risorsa Google pertinente e l'attività che stai tentando di eseguire non riesce. Nella maggior parte dei casi, le quote si applicano a ogni progetto Cloud e sono condivise tra tutte le applicazioni e gli indirizzi IP che utilizzano il progetto Cloud.
Esistono anche limiti per le risorse App Engine. Questi limiti non sono correlati al sistema di quote. I limiti non possono essere modificati, se non diversamente specificato.
Un'applicazione App Engine può consumare risorse fino a determinate quote. Puoi visualizzare il consumo giornaliero della tua applicazione nella pagina dei dettagli delle quote in Google Cloud Console.
Tipi di quote
I tipi seguenti di quote si applicano alle applicazioni App Engine:
- Le quote gratuite offrono alla tua applicazione una quantità gratuita di ciascuna risorsa.
Dopo che la tua applicazione supera una quota gratuita, ti verrà addebitato
qualsiasi utilizzo aggiuntivo di quella risorsa
Solo l'ambiente standard di App Engine fornisce quote gratuite.
- Le quote giornaliere proteggono l'integrità del sistema App Engine assicurando che nessuna singola applicazione consumi una quantità eccessiva di una risorsa a scapito di altre applicazioni. Se superi questi limiti, viene visualizzato un messaggio di errore. Le quote giornaliere vengono aggiornate ogni giorno alla mezzanotte del fuso orario del Pacifico.
- Le quote al minuto impediscono alla tua applicazione di consumare tutte le sue risorse in brevissimi periodi di tempo e ad altre applicazioni di monopolizzare una determinata risorsa. Se la tua applicazione consuma una risorsa troppo rapidamente ed esaurisce una quota al minuto, viene visualizzata la parola "Limitato" accanto alla quota appropriata nella pagina Quote di Cloud Console. Le richieste di risorse che hanno raggiunto il limite massimo di quota al minuto vengono rifiutate.
I proprietari del progetto e gli amministratori della fatturazione possono abilitare la fatturazione per un progetto.
Quando attivi la fatturazione, aumentano i limiti di sicurezza dell'applicazione. Consulta la sezione Risorse per ulteriori dettagli.
Per maggiori dettagli su cosa succede quando viene superata una quota e su come gestire le condizioni di eccedenza di quota, vedi Quando una risorsa è esaurita.
Suggerimento: le quote massime al minuto consentono di far
fronte a livelli di traffico elevati, offrendo capacità sufficiente a gestire un picco di
traffico che faccia notizia. Se ritieni che una determinata quota non soddisfi questo requisito, invia un feedback nel sistema di monitoraggio dei problemi. Tieni presente che l'invio di feedback non costituisce una richiesta di aumento della quota, ma ci aiuterà a capire se esistono quote potenzialmente troppo basse per i casi d'uso generali.
Se prevedi livelli di traffico estremamente elevati o per qualche motivo la
tua applicazione richiede quote particolarmente elevate (ad esempio, a causa del lancio di un prodotto importante o per un test di carico di grandi dimensioni), ti consigliamo di richiedere un
pacchetto di assistenza.
Come vengono reintegrate le risorse
App Engine tiene traccia dell'utilizzo delle risorse dell'applicazione rispetto alle quote di sistema. App Engine ripristina tutte le misurazioni delle risorse all'inizio di ciascun giorno di calendario (ad eccezione di Dati archiviati, che rappresenta sempre la quantità in uso dello spazio di archiviazione del datastore).
Le quote giornaliere vengono reintegrate giornalmente alla mezzanotte del fuso orario del Pacifico. Le quote al minuto vengono aggiornate ogni 60 secondi.
Quando una risorsa è esaurita
Quando un'applicazione consuma completamente una risorsa allocata, la risorsa diventa non disponibile fino a quando la quota non viene reintegrata. Questo può causare il blocco dell'applicazione fino a quando la quota non viene reintegrata.
Quando sono esaurite le risorse necessarie per avviare una richiesta, App Engine restituisce per impostazione predefinita un codice di errore HTTP 403
o 503
relativo alla richiesta, anziché chiamare un gestore di richieste. Ciò accade per la risorsa Ore di istanza.
Suggerimento: puoi configurare l'applicazione in modo che venga fornita una pagina di errore personalizzata quando l'applicazione supera una quota. Per ulteriori dettagli, consulta la pagina relativa ai file di configurazione per Python (2.7, 3), Java, Go, PHP (5.5, 7) o Node.js .
In tutti gli altri casi, quando la risorsa è esaurita, un tentativo dell'applicazione di consumare
la risorsa genera un'eccezione. Questa eccezione può essere rilevata e gestita dall'applicazione, ad esempio mostrando all'utente un messaggio di errore descrittivo. Nell'API Python l'eccezione è
apiproxy_errors.OverQuotaError
. Nell'API Java, l'eccezione è
com.google.apphosting.api.ApiProxy.OverQuotaException
. Nell'API Go, appengine.IsOverQuota
indica se un errore rappresenta un errore di chiamata API dovuto a una disponibilità insufficiente di quota.
Nell'esempio seguente viene illustrato come individuare il messaggio OverQuotaError
, che può essere generato dal metodo SendMessage()
se è stata superata una quota relativa all'email:
try: mail.SendMessage(to='test@example.com', from='admin@example.com', subject='Test Email', body='Testing') except apiproxy_errors.OverQuotaError, message: # Log the error. logging.error(message) # Display an informative message to the user. self.response.out.write('The email could not be sent. ' 'Please try again later.')
L'applicazione supera i limiti predefiniti? Se hai bisogno di una quota email più alta, puoi utilizzare SendGrid per l'invio di email. Per qualsiasi altro aumento di quota, se disponi del pacchetto di assistenza Silver, Gold o Platinum, puoi contattare il tuo rappresentante dell'assistenza e richiedere un aumento dei limiti di velocità effettiva.
Quote per l'ambiente flessibile di App Engine
Quando esegui il deployment di un'applicazione nell'ambiente flessibile di App Engine, consumi una certa quantità di risorse di Google Cloud. Potresti non essere in grado di modificare queste risorse che, tuttavia, incidono sul conteggio della quota.
Ad esempio, puoi trovare l'utilizzo delle risorse delle istanze dei tuoi servizi nella pagina delle quote delle risorse di Compute Engine.Risorse
Un'applicazione può utilizzare le risorse soggette a quota riportate di seguito. Le risorse misurate in base ai limiti fatturabili sono contrassegnate dalla dicitura "(fatturabili)". Gli importi delle risorse rappresentano un'allocazione su un periodo di 24 ore.
Il costo delle risorse aggiuntive è elencato nella pagina relativa ai prezzi.
Bucket Cloud Storage predefinito
Il bucket Cloud Storage predefinito ha una quota gratuita di utilizzo giornaliero, come mostrato nella tabella riportata di seguito. Puoi creare un bucket predefinito gratuito nella pagina delle impostazioni di App Engine di Google Cloud Console relativa al progetto.
Le seguenti quote riguardano in modo specifico l'utilizzo del bucket predefinito. Consulta i prezzi dei bucket relativi a più aree geografiche di Google Cloud Storage per una descrizione dettagliata di queste quote.
Risorsa | Limite predefinito |
---|---|
Dati archiviati del bucket Cloud Storage predefinito | Primi 5 GB gratuiti; nessun limite massimo |
Operazioni classe A del bucket Cloud Storage predefinito | Prime 20.000 operazioni al giorno gratuite, nessun limite massimo |
Operazioni classe B del bucket Cloud Storage predefinito | Prime 50.000 operazioni al giorno gratuite, nessun limite massimo |
Traffico in uscita dalla rete del bucket Cloud Storage predefinito | Primo GB gratuito; nessun limite massimo |
Archivio BLOB
Le seguenti quote riguardano specificamente l'utilizzo dell'archivio BLOB.
- Dati archiviati nell'archivio BLOB
- La quantità totale dei dati memorizzati nell'archivio BLOB, disponibili sia per le applicazioni gratuite che per quelle a pagamento.
Risorsa | Limite predefinito |
---|---|
Dati archiviati nell'archivio BLOB | Primi 5 GB gratuiti; nessun limite massimo |
Archiviazione di codice e dati statici
- Limite dati statici
- In tutti i linguaggi, eccetto Go, nessun singolo file di dati statici può superare i 32 MB. Il limite per Go è 64 MB.
- Spazio di archiviazione totale
- La quota di spazio di archiviazione si applica alla quantità totale di codice e dati statici archiviati da tutte le versioni dell'applicazione. La dimensione totale di codice e file statici archiviati è elencata nella tabella Dashboard principale. Le dimensioni individuali sono visualizzate rispettivamente nelle schermate Versioni e Backend. Alle applicazioni verranno addebitati $ 0,026 per GB al mese per lo spazio di archiviazione di codice e dati statici che supera 1 GB.
Datastore
La quota Dati archiviati (fatturabili) si riferisce a tutti i dati archiviati per l'applicazione nel datastore e nell'archivio BLOB. Le altre quote nella sezione "Datastore" della pagina dei dettagli delle quote di Google Cloud Console si riferiscono specificamente al servizio di datastore.
- Dati archiviati (fatturabili)
-
La quantità totale di dati archiviati in entità e indici corrispondenti del datastore e nell'archivio BLOB.
Va tenuto presente che i dati archiviati nel datastore possono comportare un overhead significativo. Questo overhead dipende dal numero e dai tipi di proprietà associate e include lo spazio utilizzato dagli indici integrati e personalizzati. Ogni entità archiviata nel datastore richiede i seguenti metadati:
- La chiave dell'entità, incluso il tipo, l'ID o il nome della chiave, e le chiavi dei predecessori dell'entità.
- Il nome e il valore di ogni proprietà. Poiché il datastore è senza schema, il nome di ogni proprietà deve essere archiviato insieme al valore della proprietà per ogni data entità.
- Ciascuna riga degli indici integrati e personalizzati che faccia riferimento a questa entità. Ciascuna riga contiene il tipo di entità, un numero qualsiasi di valori della proprietà a seconda della definizione dell'indice e la chiave dell'entità.
- Numero di indici
- Il numero di indici datastore esistenti per l'applicazione. Ciò include gli indici che sono stati creati in passato e che ora non compaiono più nella configurazione dell'applicazione ma non sono stati eliminati. Consulta la pagina sui limiti di Datastore per ulteriori informazioni sui limiti.
- Operazioni di scrittura
- Il numero totale di operazioni di scrittura di Datastore.
- Operazioni di lettura
- Il numero totale di operazioni di lettura di Datastore.
- Operazioni ridotte
- Il numero totale di operazioni ridotte di Datastore. Le operazioni ridotte comprendono chiamate per l'allocazione di ID o query basate solo su chiavi di Datastore.
Risorsa | Limite predefinito |
---|---|
Dati archiviati (fatturabili) | 1 GB gratuito; nessun limite massimo.
Oltre la quota gratuita, si applicano le tariffe di fatturazione. |
Numero di indici | 200 |
Letture entità | 50.000 gratuite; nessun limite massimo.
Oltre la quota gratuita, si applicano le tariffe di fatturazione. |
Scritture entità | 20.000 gratuite; nessun limite massimo.
Oltre la quota gratuita, si applicano le tariffe di fatturazione. |
Eliminazioni entità | 20.000 gratuite; nessun limite massimo.
Oltre la quota gratuita, si applicano le tariffe di fatturazione. |
Operazioni ridotte | Illimitato |
Nota: le operazioni di datastore generate da Amministrazione Datastore e Visualizzatore Datastore vengono conteggiate nella quota dell'applicazione.
Deployment
In ogni applicazione App Engine, è possibile eseguire il deployment sino a 10.000 volte al giorno.
Quando esegui il deployment, Cloud Build crea un'immagine container che viene archiviata nel Container Registry. Ti verranno addebitati dei costi se lo spazio di archiviazione totale consumato dalle immagini supera il livello gratuito.
Ore di istanza
L'utilizzo delle istanze viene fatturato per uptime delle istanze a una determinata tariffa oraria.
Ci sono quote gratuite separate per le classi di istanza "F" e "B"(anche note come classi di istanza di "frontend" e di "backend"). Tieni presente che quando utilizzi servizi App Engine, la classe dell'istanza del servizio determina quale quota deve essere applicata.
Risorsa | Quota gratuita |
---|---|
Istanze "F" | 28 ore gratuite al giorno |
Istanze "B" | 9 ore gratuite al giorno |
L'accumulo delle ore di istanza inizia quando un'istanza viene avviata e termina come descritto di seguito, a seconda del tipo di scalabilità specificato per l'istanza:
- Scalabilità di base o automatica: l'accumulo termina quindici minuti dopo che l'istanza ha finito di elaborare l'ultima richiesta.
- Scalabilità manuale: l'accumulo termina quindici minuti dopo l'arresto di un'istanza.
Se il numero di istanze inattive create da App Engine supera il massimo specificato nella scheda relativa alle impostazioni delle prestazioni di Cloud Console, le istanze in eccesso non accumulano ore di istanza.
Log
L'API Logs viene misurata quando vengono recuperati i dati di log.
L'allocazione per l'importazione dei log si riferisce ai dati dei log delle richieste e delle applicazioni relativi a un'applicazione. La suite operativa di Google Cloud offre il logging per le app di App Engine. Per ulteriori informazioni su tariffe e limiti, consulta la pagina relativa ai prezzi della suite operativa di Google Cloud.
Posta
App Engine fattura l'utilizzo delle email "per messaggio", contando ogni email per ciascun destinatario. Ad esempio, un'email inviata a dieci destinatari viene conteggiata come dieci messaggi.
- Messaggi inviati
- Il numero totale di messaggi che sono stati inviati dall'applicazione. Tieni presente che la quota massima per i messaggi inviati rimane a livelli gratuiti fino a quando il primo addebito per l'applicazione non è stato saldato.
- Messaggi inviati agli amministratori
- Il numero totale di messaggi inviati agli amministratori dall'applicazione (il limite di dimensioni totale per ogni email agli amministratori, inclusi intestazioni, allegati e corpo, è di 16 kB).
- Dati del corpo del messaggio inviati
- La quantità di dati inviati nel corpo dei messaggi email.
- Allegati inviati
- Il numero totale di allegati inviati tramite messaggi email.
- Dati di allegato inviati
- La quantità di dati inviati come allegati ai messaggi email.
Risorsa | Limite giornaliero predefinito | Frequenza massima |
---|---|---|
Email inviate ai destinatari | 100 messaggi | 8 messaggi al minuto |
Email inviate agli amministratori | 5000 email | 24 email al minuto |
Dati del corpo del messaggio inviati | 60 MB | 340 kB al minuto |
Allegati inviati | 2000 allegati | 8 allegati al minuto |
Dati di allegato inviati | 100 MB | 10 MB al minuto |
Puoi aggiungere fino a un massimo di 50 mittenti autorizzati per l'API Mail.
Invio di un numero di email al di sopra della quota di posta giornaliera
Se la tua app richiede quote più elevate per l'invio di posta, puoi utilizzare un provider di posta di terze parti, come SendGrid, Mailjet o Mailgun.
Richieste
- Larghezza di banda in uscita (fatturabile)
-
La quantità di dati inviati dall'applicazione in risposta alle richieste.
Sono inclusi:
- Dati forniti da server dell'applicazione o di file statici oppure dall'archivio BLOB in risposta a richieste sicure e non sicure
- Dati inviati nei messaggi email
- Dati contenuti nelle richieste HTTP in uscita inviate dal servizio di recupero URL
- Larghezza di banda in entrata
-
La quantità di dati provenienti dalle richieste ricevuti dall'applicazione. Ogni richiesta HTTP in entrata non può superare i 32 MB.
Sono inclusi:
- Dati ricevuti dall'applicazione tramite richieste sicure e non sicure
- Caricamenti sull'archivio BLOB
- Dati ricevuti dal servizio di recupero URL in risposta alle richieste HTTP
- Larghezza di banda in uscita sicura
- La quantità di dati inviati dall'applicazione su una connessione protetta in risposta alle richieste.
- Larghezza di banda in entrata sicura
- La quantità di dati provenienti dalle richieste ricevuti dall'applicazione su una connessione protetta.
Cerca
Le quote gratuite per l'API Search sono elencate nella tabella sottostante. Fai riferimento alla documentazione di Java, Python e Go per una descrizione dettagliata di ciascun tipo di chiamata all'API Search.
Alle risorse dell'API Search vengono addebitate le tariffe illustrate nel piano tariffario.
Risorsa o chiamata API | Quota gratuita |
---|---|
Capacità di archiviazione totale (documenti e indici) | 0,25 GB |
Query | 1000 query al giorno |
Aggiunta di documenti agli indici | 0,01 GB al giorno |
La sezione relativa alle quote della console dell'applicazione visualizza un conteggio approssimativo delle richieste API. Tieni presente che quando si indicizzano più documenti in un'unica chiamata, al conteggio delle chiamate occorre sommare il numero di documenti.
L'API Search impone questi limiti per garantire l'affidabilità del servizio:
- 100 minuti aggregati di tempo di esecuzione delle query al minuto, all'interno di un'applicazione e di un indice
- 15.000 documenti aggiunti/eliminati al minuto
Nota: sebbene tali limiti vengano applicati al minuto, Cloud Console mostra i totali giornalieri per ciascuno. I clienti con assistenza Silver, Gold o Platinum possono richiedere limiti di velocità effettiva più elevati contattando il rappresentante dell'assistenza.
Coda di attività
- Chiamate all'API Task Queue
- Il numero totale di volte in cui l'applicazione ha chiamato l'API Task Queue per accodare un'attività.
- Conteggio attività archiviate delle code di attività
- Il numero totale di attività che l'applicazione ha accodato e che non sono ancora state eseguite.
- Byte di attività archiviate delle code di attività
- I byte consumati dalle attività che l'applicazione ha accodato e che non sono ancora state eseguite.
Quando un'attività viene eseguita, le sue richieste associate contribuiscono al conteggio delle quote di richiesta dell'applicazione.
Questi limiti si applicano a tutte le code di attività:
Risorsa | Limite giornaliero | Frequenza massima |
---|---|---|
Chiamate all'API Task Queue | 1.000.000.000 | n/d |
Chiamate di gestione della coda di attività (tramite Cloud Console) | 10.000 | n/d |
Risorsa | Limite predefinito |
---|---|
Conteggio attività archiviate delle code di attività | 10.000.000.000 |
Byte di attività archiviate delle code di attività | Nessuno |
Numero massimo di code (include sia le code in modalità push che pull ma non la coda predefinita) | 100 code |
Nota: una volta che un'attività è stata eseguita o eliminata, lo spazio di archiviazione utilizzato viene liberato. La quota di spazio di archiviazione viene aggiornata a intervalli regolari e potrebbe non mostrare immediatamente lo spazio recuperato. Puoi determinare il limite di byte delle attività archiviate modificando la configurazione della coda. Consulta la documentazione di Python, Java, Go o PHP per ulteriori dettagli.
I limiti elencati di seguito sono applicabili a tutte le code di attività in base al loro tipo:
Limiti coda in modalità push | |
---|---|
Dimensione massima dell'attività | 100 kB |
Frequenza di esecuzione della coda | 500 chiamate di attività al secondo per coda |
Conto alla rovescia/tempo di esecuzione stimato massimo per un'attività | 30 giorni dalla data e ora correnti |
Numero massimo di attività che è possibile aggiungere in un batch | 100 attività |
Numero massimo di attività che possono essere aggiunte in una transazione | 5 attività |
Numero massimo predefinito di code di attività | 100 code (contatta l'assistenza per richiedere un aumento) |
Limiti coda in modalità pull | |
---|---|
Dimensione massima dell'attività | 1 MB |
Conto alla rovescia/tempo di esecuzione stimato massimo per un'attività | 30 giorni dalla data e ora correnti |
Numero massimo di attività che è possibile aggiungere in un batch | 100 attività |
Numero massimo di attività che possono essere aggiunte in una transazione | 5 attività |
Numero massimo di attività per cui è possibile acquisire un lease in una singola operazione | 1000 attività |
Dimensione massima del payload durante l'acquisizione di un lease per un batch di attività | 32 MB |
Numero massimo predefinito di code di attività | 100 code (contatta l'assistenza per richiedere un aumento) |
Cron
Le seguenti quote riguardano specificamente i cron job.
- Cron job
- Numero di cron job
Risorsa | Limite predefinito |
---|---|
Cron job | 250 cron job |
Recupero URL
- Chiamate all'API URL Fetch
- Il numero totale di volte in cui l'applicazione ha effettuato l'accesso al servizio di recupero URL per eseguire una richiesta HTTP o HTTPS.
- Dati recupero URL inviati
- La quantità di dati inviati al servizio di recupero URL nelle richieste.
- Dati recupero URL ricevuti
- La quantità di dati ricevuti dal servizio di recupero URL nelle risposte. Anche questa quantità contribuisce alla quota di larghezza di banda in entrata.
Risorsa | Limite giornaliero | Frequenza massima |
---|---|---|
Chiamate all'API UrlFetch | 860.000.000 di chiamate | 660.000 chiamate al minuto |
Dati UrlFetch inviati | 4,5 TB | 3600 MB al minuto |
Dati UrlFetch ricevuti | 4,5 TB | 3600 MB al minuto |