Quotas e limites

ID da região

O REGION_ID é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após fevereiro de 2020, REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criadas antes desta data, o ID da região é opcional no URL.

Saiba mais acerca dos IDs de regiões.

Este documento lista as quotas e os limites do sistema que se aplicam ao App Engine.

  • As quotas têm valores predefinidos, mas normalmente pode pedir ajustes.
  • Os limites do sistema são valores fixos que não podem ser alterados.

Google Cloud usa quotas para ajudar a garantir a equidade e reduzir os picos na utilização e disponibilidade de recursos. Uma quota restringe a quantidade de um Google Cloud recurso que o seu Google Cloud projeto pode usar. As quotas aplicam-se a uma variedade de tipos de recursos, incluindo componentes de hardware, software e rede. Por exemplo, as quotas podem restringir o número de chamadas API para um serviço, o número de balanceadores de carga usados em simultâneo pelo seu projeto ou o número de projetos que pode criar. As quotas protegem a comunidade de Google Cloud utilizadores, impedindo a sobrecarga dos serviços. As quotas também ajudam a gerir os seus próprios Google Cloud recursos.

O sistema de quotas da nuvem faz o seguinte:

Na maioria dos casos, quando tenta consumir mais de um recurso do que a respetiva quota permite, o sistema bloqueia o acesso ao recurso e a tarefa que está a tentar realizar falha.

Geralmente, as quotas aplicam-se ao nível do Google Cloud projeto A sua utilização de um recurso num projeto não afeta a sua quota disponível noutro projeto. Num Google Cloud projeto, as quotas são partilhadas por todas as aplicações e endereços IP.

Para mais informações, consulte a vista geral das quotas da nuvem.

Também existem limites do sistema nos recursos do App Engine. Não é possível alterar os limites do sistema.

Uma aplicação do App Engine pode consumir recursos até determinadas quotas. Pode ver o consumo diário da sua aplicação na página Detalhes da quota da Google Cloud consola.

Tipos de quotas

Os seguintes tipos de quotas aplicam-se a aplicações do App Engine:

  • As cotas gratuitas dão à sua aplicação uma quantidade de cada recurso sem custo financeiro. Pode encontrar os detalhes sobre as quotas gratuitas na secção recursos desta página. Depois de a sua aplicação exceder uma quota gratuita, a utilização adicional desse recurso é faturada.

    Apenas o ambiente padrão do App Engine oferece quotas gratuitas.

  • As quotas diárias protegem a integridade do sistema do App Engine, garantindo que nenhuma app individual consome excessivamente um recurso em detrimento de outras apps. Se exceder estes limites, recebe um erro. As quotas diárias são atualizadas diariamente à meia-noite (hora do Pacífico).
  • As quotas por minuto protegem a sua aplicação contra o consumo de todos os respetivos recursos em períodos muito curtos e impedem que outras aplicações monopolizem um determinado recurso. Se a sua aplicação consumir um recurso demasiado rapidamente e esgotar uma quota por minuto, a palavra "Limitado" aparece junto à quota adequada na página Quotas na Google Cloud consola. As solicitações de recursos que atingem o máximo por minuto são recusadas.

Os proprietários do projeto e os administradores de faturação podem ativar a faturação para um projeto.

Para ver detalhes sobre o que acontece quando uma quota é excedida e como processar as condições de excesso de quota, consulte o artigo Quando um recurso se esgota.

Sugestão: as quotas máximas por minuto acomodam níveis de tráfego elevados, suficientes para processar um pico de tráfego do seu site quando é mencionado em notícias. Se considerar que uma quota específica não cumpre este requisito, envie feedback no Issue Tracker. Tenha em atenção que o envio de feedback não é um pedido para aumentar a sua quota, mas ajuda-nos a compreender que quota é potencialmente demasiado baixa para casos de utilização geral.

Se estiver a prever níveis de tráfego extremamente elevados ou, por algum motivo, a sua app exigir quotas particularmente elevadas (por exemplo, devido a um lançamento de produto significativo ou a testes de carga de grande dimensão), recomendamos que se inscreva num pacote de apoio técnico.

Como são repostos os recursos

O App Engine monitoriza a utilização de recursos da sua aplicação em relação às quotas do sistema. O App Engine repõe todas as medições de recursos no início de cada dia civil (exceto para os dados armazenados, que representam sempre a quantidade de armazenamento da base de dados em utilização).

As quotas diárias são repostas diariamente à meia-noite (hora do Pacífico). As quotas por minuto são atualizadas a cada 60 segundos.

Quando um recurso está esgotado

Quando uma aplicação consome todos os recursos atribuídos, o recurso fica indisponível até que a quota seja reposta. Isto pode significar que a sua aplicação não vai funcionar até a quota ser reposta.

Para recursos necessários para iniciar um pedido, quando o recurso está esgotado, o App Engine devolve por predefinição um código de erro HTTP 403 ou 503 para o pedido, em vez de chamar um controlador de pedidos. Este comportamento aplica-se ao recurso Instance hours.

Sugestão: pode configurar a sua aplicação para publicar uma página de erro personalizada quando a aplicação exceder uma quota. Para ver detalhes, consulte a referência do ficheiro de configuração para Python (2.7, 3), Java, Go, PHP (5.5, 7) ou Node.js .

Para todos os outros recursos, quando o recurso está esgotado, uma tentativa na aplicação para consumir o recurso resulta numa exceção. Esta exceção pode ser captada pela aplicação e processada, por exemplo, através da apresentação de uma mensagem de erro amigável ao utilizador. Na API Python, esta exceção é apiproxy_errors.OverQuotaError. Na API para Java, esta exceção é com.google.apphosting.api.ApiProxy.OverQuotaException. Na API Go, a função appengine.IsOverQuota indica se um erro representa uma falha de chamada da API devido a uma quota disponível insuficiente.

O exemplo seguinte ilustra como captar o OverQuotaError, que pode ser gerado pelo método SendMessage() se tiver sido excedida uma quota relacionada com o 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.')

A sua app está a exceder os limites predefinidos? Pode contactar o apoio técnico ao cliente do Google Cloud para pedir limites de débito mais elevados. Se precisar de uma quota de correio mais elevada, pode usar o SendGrid para enviar emails.

Recursos

Uma aplicação pode usar os seguintes recursos, sujeita a quotas. Os recursos medidos em função dos limites faturáveis são indicados com "(faturável)". Os valores dos recursos representam uma atribuição durante um período de 24 horas.

O custo dos recursos adicionais está indicado na página Preços.

Serviços, versões e instâncias

O número máximo de serviços e versões que pode implementar depende do preço da sua app. O ambiente flexível e o ambiente padrão partilham os mesmos limites para serviços e versões. Por exemplo, se tiver versões padrão e versões flexíveis na mesma app, essas versões contam para o mesmo limite.

Limite App gratuita App paga
Número máximo de serviços por app 5 210
Número máximo de versões por app 15 210

Também existe um limite para o número de instâncias de cada serviço com escalabilidade básica ou manual:

Número máximo de instâncias por versão de escalabilidade manual/básica
App gratuita App paga nos EUA App paga da UE
20 25 (200 para us-central) 25

Também existe um limite para o número de instâncias nas versões padrão que podem estar em execução por projeto e região. A classe de instância do serviço determina o limite que é aplicado e a contribuição de uma instância desse serviço para a utilização da quota. Por exemplo, 1 instância F4 conta como 4 instâncias de front-end normalizadas.

Pode ver o consumo da quota de contagem de instâncias na página Quotas do IAM.

Descrição Limite Pode ser aumentado
Número máximo de instâncias de front-end por projeto e região medido durante um período de 1 minuto Depende da região selecionada. Este limite pode ser superior em regiões de alta capacidade ou inferior em regiões abertas recentemente. Sim
Número máximo de instâncias de back-end por projeto e região medido durante um período de 1 minuto Depende da região selecionada. Este limite pode ser superior em regiões de alta capacidade ou inferior em regiões abertas recentemente. Sim

Nota: pode seguir os passos descritos nesta página para pedir limites mais elevados.

Também existe um limite para o número de carateres no URL da sua aplicação.
Descrição Limite
Número máximo de carateres no URL do projeto para o URL VERSION-dot-SERVICE-dot-PROJECT_ID 63

Contentor do Cloud Storage predefinido

O contentor do Cloud Storage predefinido tem uma quota gratuita para utilização diária, conforme mostrado abaixo. Crie este contentor predefinido gratuito na página Definições do App Engine da Google Cloud consola para o seu projeto.

As seguintes quotas aplicam-se especificamente à utilização do contentor predefinido. Consulte os preços dos contentores multirregionais do Cloud Storage para ver uma descrição destas quotas.

Recurso Limite predefinido
Dados armazenados no contentor do Cloud Storage predefinido Os primeiros 5 GB são gratuitos; não existe um limite máximo
Contentor do Cloud Storage predefinido Operações de classe A Primeiras 20 000 operações/dia grátis; sem máximo
Contentor do Cloud Storage predefinido Operações de classe B Primeiras 50 000 operações/dia gratuitas; sem máximo
Saída de rede do contentor do Cloud Storage predefinido Primeiro 1 GB gratuito; sem máximo

Blobstore

As seguintes quotas aplicam-se especificamente à utilização do Blobstore.

Dados armazenados no Blobstore
A quantidade total de dados armazenados no blobstore. Disponível para apps pagas e gratuitas.
Recurso Limite predefinido
Dados armazenados no Blobstore Os primeiros 5 GB são gratuitos; não existe um limite máximo

Armazenamento de código e dados estáticos

Limite de dados estáticos
Em todos os idiomas, exceto o go, nenhum ficheiro de dados estático único pode ter mais de 32 MB. O limite para o Go é de 64 MB.
Armazenamento total
A quota de armazenamento aplica-se à quantidade total de código e dados estáticos armazenados por todas as versões da sua app. O tamanho total armazenado de código e ficheiros estáticos é apresentado na tabela do painel de controlo principal. Os tamanhos individuais são apresentados nos ecrãs Versões e Back-ends, respetivamente. As apps vão pagar 0,026 $ por GB por mês por qualquer armazenamento de código e dados estáticos que exceda 1 GB.

Firestore no modo Datastore (Datastore)

A quota de dados armazenados (faturáveis) refere-se a todos os dados armazenados para a aplicação no Datastore e Blobstore. Outras quotas na secção "Datastore" do ecrã Detalhes da quota na consola referem-se especificamente ao serviço Datastore. Google Cloud

Dados armazenados (faturáveis)

A quantidade total de dados armazenados em entidades do Datastore e nos índices correspondentes e no Blobstore.

É importante ter em atenção que os dados armazenados no arquivo de dados podem incorrer em custos gerais significativos. Esta sobrecarga depende do número e dos tipos de propriedades associadas e inclui o espaço usado por índices incorporados e personalizados. Cada entidade armazenada no arquivo de dados requer os seguintes metadados:

  • A chave da entidade, incluindo o tipo, o ID ou o nome da chave, e as chaves dos ancestrais da entidade.
  • O nome e o valor de cada propriedade. Uma vez que o arquivo de dados não tem esquema, o nome de cada propriedade tem de ser armazenado com o valor da propriedade para qualquer entidade específica.
  • Todas as linhas de índice incorporadas e personalizadas que fazem referência a esta entidade. Cada linha contém o tipo de entidade, qualquer número de valores de propriedades, consoante a definição do índice, e a chave da entidade.
Número de índices
O número de índices do Datastore existentes para a aplicação. Isto inclui índices que foram criados no passado e já não aparecem na configuração da aplicação, mas não foram eliminados. Consulte a página de limites do Datastore para ver detalhes adicionais sobre os limites.
Operações de escrita
O número total de operações de escrita do Datastore.
Operações de leitura
O número total de operações de leitura do Datastore.
Operações de pequena dimensão
O número total de pequenas operações do Datastore. As operações pequenas incluem chamadas para atribuir IDs do Datastore ou consultas apenas de chaves.
Recurso Limite predefinido
Dados armazenados (faturáveis) 1 GiB grátis; sem máximo.
Além da quota gratuita, aplicam-se taxas de faturação.
Número de índices 200
Leituras de entidades 50 000 grátis; sem número máximo.
Além da quota gratuita, aplicam-se taxas de faturação.
Gravações de entidades 20 000 grátis; sem máximo.
Além da quota gratuita, aplicam-se taxas de faturação.
Eliminações de entidades 20 000 grátis; sem máximo.
Além da quota gratuita, aplicam-se taxas de faturação.
Pequenas operações Ilimitado

Nota: as operações do Datastore geradas pelo Datastore Admin e pelo Datastore Viewer contam para a quota da sua aplicação.

Implementações

Em cada aplicação do App Engine, pode implementar até 10 000 vezes por dia.

Quando implementa, o Cloud Build cria uma imagem de contentor e armazena-a no Artifact Registry. Vai incorrer em custos se o espaço de armazenamento total consumido pelas imagens exceder o nível gratuito.

Ficheiros

A seguinte quota aplica-se ao número total de ficheiros de implementação de apps.

Ficheiros Máximo
Ficheiros predefinidos por app 10 000 ficheiros
Contacte o apoio técnico para pedir um aumento.

Horas de instância

A utilização de instâncias é faturada pelo tempo de atividade da instância, a uma determinada taxa horária.

Existem quotas gratuitas separadas para as classes de instâncias "F" e "B" (também conhecidas como classes de instâncias "frontend" e "backend"). Tenha em atenção que, quando usa os serviços do App Engine, a classe de instância do serviço determina a quota que se aplica.

Recurso Quota gratuita
Instâncias F1 28 horas de instância grátis por dia
Instâncias B1 9 horas de instância grátis por dia

A acumulação de horas da instância começa quando uma instância é iniciada e termina conforme descrito abaixo, consoante o tipo de escalabilidade que especificar para a instância:

  • Dimensionamento básico ou automático: a acumulação termina quinze minutos depois de uma instância terminar o processamento do último pedido.
  • Dimensionamento manual: a acumulação termina quinze minutos após o encerramento de uma instância.

Se o número de instâncias inativas criadas pelo App Engine exceder o máximo especificado no separador Definições de desempenho da Google Cloud consola, as instâncias em excesso não acumulam horas de instância.

Registos

A API Logs é medida quando os dados de registo são obtidos.

A quota de carregamento de registos refere-se aos registos de pedidos e aos dados de registos de aplicações para uma aplicação. O registo para apps do App Engine é fornecido pelo Google Cloud Observability. Consulte os preços da observabilidade do Google Cloud para mais informações sobre tarifas e limites.

Correio

O consumo da API Mail está disponível para visualização na página de quotas da IAM.

Nota: para ver o consumo de quota de uma aplicação na página Quotas do IAM, certifique-se de que o serviço de relatórios do App Engine está ativado para o projeto. Se não conseguir ativar o serviço, verifique as suas autorizações e a restrição da política da organização constraints/serviceuser.services.

Nota: pode seguir os passos descritos nesta página para pedir limites mais elevados.

O App Engine fatura a utilização de email "por mensagem", contando cada email para cada destinatário. Por exemplo, o envio de um email para dez destinatários é contabilizado como 10 mensagens.

Mensagens enviadas a utilizadores que não são administradores
O número total de mensagens enviadas pela aplicação a administradores que não são da aplicação.
Mensagens enviadas aos administradores
O número total de mensagens enviadas pela aplicação aos administradores da aplicação. O limite de tamanho total para cada email de administrador, incluindo cabeçalhos, anexos e corpo, é de 16 KB.
Dados do corpo da mensagem enviados
A quantidade de dados enviados no corpo das mensagens de email.
Anexos enviados
O número total de anexos enviados com mensagens de email.
Dados de anexos enviados
A quantidade de dados enviados como anexos a mensagens de email.
Recurso Limite diário predefinido Taxa máxima
Destinatários que receberam o email 100 mensagens 8 mensagens/minuto
Administradores com email enviado 5000 emails 24 emails/minuto
Dados do corpo da mensagem enviados 60 MB 340 KB/minuto
Anexos enviados 2000 anexos 8 anexos/minuto
Dados de anexos enviados 100 MB 10 MB/minuto

Pode adicionar um máximo de 50 remetentes autorizados para a API Mail.

Enviar emails acima da sua quota diária de emails

Se a sua app precisar de quotas mais elevadas para enviar correio, pode usar um fornecedor de correio de terceiros, como SendGrid, Mailjet ou Mailgun.

cache de memória

Pode ver o consumo da API Memcache na página de quotas da IAM. O consumo da API Memcache é especificado em unidades de computação da Memcache (MCU) centi, que correspondem a 1/100 de uma MCU. Pode usar até milhões de centi-MCUs.

Recurso ou chamada API Descrição Limite do sistema
Unidades de computação de Centi Memcache partilhadas por região por minuto Para cada projeto por região e minuto, os centi-MCUs disponíveis, que são 1/100 de uma unidade de computação do Memcache. Aplicável apenas ao Memcache partilhado. 90 000 000 centi-MCUs/min/projeto/região

Pedidos

Largura de banda de saída (faturável)

A quantidade de dados enviados pela aplicação em resposta a pedidos.

Isto inclui:

  • dados publicados em resposta a pedidos seguros e não seguros por servidores de aplicações, servidores de ficheiros estáticos ou o Blobstore
  • dados enviados em mensagens de email
  • dados em pedidos HTTP de saída enviados pelo serviço de obtenção de URLs.
Largura de banda de entrada

A quantidade de dados recebidos pela aplicação a partir de pedidos. Cada pedido HTTP recebido não pode ter mais de 32 MB.

Isto inclui:

  • dados recebidos pela aplicação em pedidos seguros e não seguros
  • carregamentos para o Blobstore
  • dados recebidos em resposta a pedidos HTTP pelo serviço de obtenção de URLs
Proteja a largura de banda de saída
A quantidade de dados enviados pela aplicação através de uma ligação segura em resposta a pedidos.
Proteja a largura de banda de entrada
A quantidade de dados recebidos pela aplicação através de uma ligação segura a partir de pedidos.

As quotas gratuitas para a Pesquisa estão listadas na tabela abaixo. Consulte a documentação de Java, Python e Go para uma descrição detalhada de cada tipo de chamada de pesquisa.

Os recursos da API Search são cobrados de acordo com as tarifas indicadas na tabela de preços.

Recurso ou chamada API Quota gratuita
Armazenamento total (documentos e índices) 0,25 GB
Consultas 1000 consultas por dia
Adicionar documentos a índices 0,01 GB por dia

A secção de quotas da consola de aplicações apresenta uma contagem simples de pedidos de API. Tenha em atenção que, quando indexa vários documentos numa única chamada, a contagem de chamadas aumenta pelo número de documentos.

A API Search impõe estes limites para garantir a fiabilidade do serviço:

  • 100 minutos agregados de tempo de execução de consultas por minuto, numa app e num índice.
  • 15 000 documentos adicionados/eliminados por minuto
Além disso, existe um limite de 10 GB de armazenamento por índice. Quando uma app tenta exceder este valor, é devolvido um erro de quota insuficiente. Este limite pode ser aumentado até 200 GB através do envio de um pedido a partir da páginaGoogle Cloud consolado App Engine Search.

Nota: embora estes limites sejam aplicados por minuto, a Google Cloud consola apresenta os totais diários de cada um. Os clientes com apoio técnico Standard, Enhanced ou Premium podem pedir limites de débito mais elevados contactando o respetivo representante do apoio técnico.

Fila de tarefas

Quando uma tarefa é executada, os pedidos associados contam para as quotas de pedidos da aplicação

Estes limites aplicam-se a todas as filas de tarefas:

Recurso Limite diário Taxa máxima
Chamadas de gestão da fila de tarefas (através da Google Cloud consola) 10 000 n/d
Recurso Limite predefinido
Número máximo de filas (inclui filas push e pull, mas não a fila predefinida) 100 filas.

Nota: depois de uma tarefa ser executada ou eliminada, o armazenamento que usa é libertado. A sua quota de armazenamento é atualizada a intervalos regulares e pode não apresentar o espaço recuperado imediatamente. Consulte a documentação do Python, Java, ou Go, ou PHP para mais detalhes.

Os seguintes limites aplicam-se às filas de tarefas de acordo com o respetivo tipo:

Limites da fila de envio
Tamanho máximo da tarefa100KB
Taxa de execução da fila500 invocações de tarefas por segundo por fila
Contagem decrescente/tempo estimado de chegada máximo para uma tarefa30 dias a partir da data e hora atuais
Número máximo de tarefas que podem ser adicionadas num lote100 tarefas
Número máximo de tarefas que podem ser adicionadas numa transação5 tarefas
Número máximo predefinido de filas de tarefas100 filas. Contacte o apoio técnico para pedir um aumento.

Cron

As seguintes quotas aplicam-se especificamente a tarefas cron.

Tarefas cron
Número de tarefas cron.
Recurso Limite predefinido
Tarefa cron 250 tarefas cron

Obtenção de URL

Chamadas da API URL Fetch
O número total de vezes que a aplicação acedeu ao serviço de obtenção de URLs para realizar um pedido HTTP ou HTTPS.
Dados do URL Fetch enviados
A quantidade de dados enviados para o serviço de obtenção de URLs em pedidos.
Dados do URLFetch recebidos
A quantidade de dados recebidos do serviço de obtenção de URLs nas respostas. Isto também conta para a quota de largura de banda de entrada.
Recurso Limite diário Taxa máxima
Chamadas da API UrlFetch 860 000 000 chamadas 660 000 chamadas/minuto
Dados do URLFetch enviados 4,5 TB 3600 MB/minuto
Dados do URLFetch recebidos 4,5 TB 3600 MB/minuto

Limites de rede

Os seguintes limites de rede aplicam-se ao App Engine:
  • Ligações de saída por segundo por instância: 500 (não podem ser aumentadas)
  • Resoluções de DNS de saída por segundo por instância: 100 (não podem ser aumentadas)
  • Pacotes máximos por segundo por instância: 80 000
  • Máximo de bits por segundo por instância: 100 000 000