Cotas e limites

Nesta página, você encontra informações sobre as cotas e limites do Cloud SQL. As cotas são aplicadas por projeto. Já os limites se aplicam à instância ou ao projeto, conforme apropriado.

Cotas

Uma cota restringe quanto de um recurso do Google Cloud o projeto do Google Cloud pode usar. O Cloud SQL é um exemplo desse tipo de recurso.

No Cloud SQL, as cotas fazem parte de um sistema que faz o seguinte:

  • Monitorar o uso ou o consumo de instâncias do Cloud SQL
  • Restringir o consumo dessas instâncias, por exemplo, para garantir a imparcialidade e reduzir os picos de uso
  • Manter automaticamente as configurações que impõem restrições prescritas
  • Fornecer maneiras de fazer ou solicitar alterações de cota

Quando uma cota é excedida, na maioria dos casos, o sistema bloqueia o acesso à instância relevante imediatamente e a tarefa que você está tentando executar falha. As cotas se aplicam a cada projeto do Google Cloud e são compartilhadas por todas as instâncias que usam esse projeto.

Permissões para verificar e aumentar suas cotas

Para verificar e aumentar suas cotas, você precisa das seguintes permissões:

Por padrão, essas permissões estão incluídas nos papéis básicos do IAM de Editor e Proprietário e no papel predefinido de Administrador de cotas. Se você precisar de outras permissões, entre em contato com o administrador da cota.

Verificar suas cotas

Para verificar as cotas atuais dos recursos no projeto, acesse a página Cotas no console do Google Cloud e filtre a API Cloud SQL Admin. Essas cotas se aplicam apenas a chamadas de API e não incluem consultas no banco de dados.

Aumentar suas cotas

À medida que você usa mais o Google Cloud, as cotas também podem aumentar proporcionalmente. Se você espera um aumento significativo no uso, faça a solicitação com alguns dias de antecedência para garantir que as cotas tenham o limite necessário.

Não há custo para solicitar o aumento da cota. Seus custos aumentam apenas quando você usa mais recursos.

Para aumentar suas cotas, siga estas etapas:

  1. No console do Google Cloud, acesse a página Cotas.

    Acessar a página "Cotas"

  2. Filtre pelo serviço API Cloud SQL Admin.

    Se esse serviço não aparecer, ative a API Cloud SQL Admin.

  3. Marque as caixas de seleção ao lado das cotas que você quer alterar e clique em Editar cotas.

  4. Para cada cota selecionada, digite o valor do limite desejado no campo Novo limite.

  5. No campo Descrição do motivo, insira um motivo para a solicitação de aumento de cota e clique em Concluído.

  6. Clique em Próxima.

  7. Preencha seu nome, e-mail e número de telefone e clique em Enviar solicitação.

    Se você tiver problemas para aumentar suas cotas, registre um caso de suporte.

Como as cotas de recursos são renovadas

As cotas diárias são renovadas diariamente à meia-noite do horário do Pacífico.

Cotas e disponibilidade de recursos

As cotas de recursos são a quantidade máxima de recursos de um tipo específico que você poderá criar, caso eles estejam disponíveis. As cotas não garantem que os recursos estejam sempre disponíveis. Se um recurso não estiver fisicamente disponível para sua região, não será possível criar novos recursos desse tipo, mesmo que ainda haja cota restante no projeto.

cotas de taxa.

O Cloud SQL aceita cotas de taxas, também conhecidas como limites de taxa ou cotas de API. As cotas de taxa definem quantas solicitações você pode fazer à API Cloud SQL Admin.

Cada cota de taxa corresponde a todas as solicitações de uma categoria de um ou mais métodos da API Cloud SQL Admin. As cotas de taxa são redefinidas após um intervalo específico do Cloud SQL, por exemplo, o número de solicitações da API por minuto.

Ao usar a CLI gcloud ou o console do Google Cloud, você faz solicitações à API Cloud SQL Admin que são contabilizadas nas cotas de taxa. Se você usar contas de serviço para acessar a API, essas solicitações também serão contabilizadas com relação às cotas de taxa.

O Cloud SQL aplica e recarrega automaticamente as cotas de taxa em intervalos de 60 segundos. Se seu projeto atingir o limite de uma cota de taxa a qualquer momento em até 60 segundos, você precisará aguardar o reabastecimento dessa cota antes de fazer mais solicitações nessa categoria. Se o projeto exceder esse limite, você receberá um código de status HTTP 429 com o motivo rateLimitExceeded.

A API Cloud SQL Admin é dividida nas seguintes categorias:

  • Conectar: procurar os valores necessários para se conectar a um banco de dados do Cloud SQL.
  • Receber: recuperar informações sobre um recurso, por exemplo, uma instância, uma operação ou um backup.
  • Listar: listar recursos.
  • Alterar: criar, modificar e excluir recursos.
  • Padrão por região: interagir com uma instância do Cloud SQL sem se conectar a ela, recuperá-la, listá-la ou mudá-la.
  • Padrão: listar flags de banco de dados e tipos de máquina (níveis) para instâncias do Cloud SQL. As APIs nessa categoria são globais.

O Cloud SQL impõe cotas de taxa para cada categoria por minuto, por usuário e por região. Para cada combinação exclusiva desses atributos, o Cloud SQL impõe um limite de taxa separado.

A API Cloud SQL Admin gera métricas detalhadas que podem ajudar você a rastrear o uso da API, monitorar o desempenho da instância do Cloud SQL e da API e descobrir problemas entre a instância e a API. Para mais informações, consulte Como monitorar o uso da API.

A tabela a seguir fornece informações sobre a métrica, as APIs e o limite padrão de cada categoria:

Categoria Métrica APIs Limite padrão
Conectar

sqladmin.googleapis.com/connect

O número de solicitações feitas por minuto, por usuário e por região para usar as APIs nesta categoria.

1000
Get

sqladmin.googleapis.com/get

O número de solicitações feitas por minuto, por usuário e por região para usar as APIs nesta categoria.

500
Lista

sqladmin.googleapis.com/list

O número de solicitações feitas por minuto, por usuário e por região para usar as APIs nesta categoria.

500
Alterar

sqladmin.googleapis.com/mutate

O número de solicitações feitas por minuto, por usuário e por região para usar as APIs nesta categoria.

180
Padrão por região

sqladmin.googleapis.com/
default_per_region

O número de solicitações regionais padrão feitas por minuto, por usuário e por região para usar as APIs nesta categoria.

180
Padrão

sqladmin.googleapis.com/default

O número de solicitações padrão feitas por minuto e por usuário para usar as APIs nesta categoria.

180

Limites

Existem restrições em alguns recursos do Cloud SQL que não são reabastecidas periodicamente nem exibidas na página "Cotas" do console do Google Cloud. Alguns limites podem ser aumentados, mas outros não.

Limites configuráveis

Instâncias por projeto

Por padrão, é possível ter até 1.000 instâncias por projeto, exceto em alguns casos, onde é possível ter um limite de 100. Registre um caso de suporte para solicitar um aumento. As réplicas de leitura são contadas como instâncias.

Recomendamos que você distribua a contagem de instâncias entre vários projetos para reduzir a dependência das solicitações de aumento de cota. Isso ajuda a evitar possíveis bloqueios.

Máximo de conexões simultâneas

Use a sinalização max_connections para configurar um limite de conexões. O MySQL permite no máximo 32.000 conexões. Para encontrar o limite de conexões da sua instância, conecte-se ao banco de dados e execute este comando: SHOW VARIABLES LIKE "max_connections";

Advertências

Uso da cota dos conectores do Cloud SQL

O proxy do Cloud SQL Auth e outros conectores do Cloud SQL usam a cota da API Cloud SQL Admin. O uso da cota é calculado da seguinte forma:

Quota used = Instances of the proxy * Instances of Cloud SQL * 2 por tentativa de atualização

Uma tentativa de atualização acontece quando um conector é iniciado e geralmente ocorre a cada hora depois disso, mas pode acontecer a cada 30 segundos, se ocorrer uma falha, como um failover de instância ou uma falha de chamada da API Admin.

Se você usar a descoberta automática de instâncias ou o parâmetro -projects, poderá ver um uso alto de cotas devido ao grande número de instâncias. Enquanto o proxy do Cloud SQL Auth está em execução, ele emite duas chamadas de API por hora por instância conectada.

Se você estiver começando a usar o Cloud SQL, então preste atenção na fórmula acima e considere os aspectos a seguir:

  • Com que rapidez é possível escalonar verticalmente novos clientes de banco de dados

  • Com que rapidez você adiciona mais instâncias

  • Como usar contas de serviço diferentes para cada aplicativo

Autenticação de banco de dados do IAM do Cloud SQL

Há uma cota de logins por minuto para cada instância, o que inclui logins bem-sucedidos e com falha. Quando a cota é excedida, os logins ficam temporariamente indisponíveis. Recomendamos evitar logins frequentes e restringi-los usando redes autorizadas. A cota de autorização de logins é de 12.000 por minuto em cada instância.

Cota de regra de encaminhamento

Cada instância do Cloud SQL consiste em uma regra de encaminhamento e um balanceador de carga. Há um limite de cota na regra de encaminhamento com base no tipo de balanceador de carga para o qual ele está apontando. Há várias cotas em cada tipo de regra de encaminhamento, por projeto, por rede e grupo de peering. Há também uma regra de substituição para as cotas por rede e por grupo de peering no Cloud SQL. Isso significa que, quando aumentamos a cota por rede para redes de produtores, a cota por grupo de peering também recebe o mesmo valor.

O VPC do produtor do Cloud SQL faz peering com a VPC do cliente. Portanto, geralmente atingimos a cota de rede da rede do produtor do Cloud SQL e a cota por grupo de peering para a VPC do cliente.

Quando atingimos a cota, algumas operações podem falhar, incluindo as seguintes:

  • Operação de criação: são necessárias novas regras de encaminhamento quando criamos novas instâncias.

  • Operação de atualização: permitimos que os clientes alternem a rede de instâncias. Portanto, precisamos de novas regras de encaminhamento na nova rede.

  • Operação de manutenção: as regras de encaminhamento são recriadas.

Se você tiver esses problemas, registre um caso de suporte, e faremos o escalonamento das cotas relevantes para você.

Limites fixos

IOPS

IOPS são o número de operações de entrada/saída (ou operações de leitura/gravação) que o disco pode processar por segundo.

O Cloud SQL usa máquinas virtuais (VMs) do Compute Engine com discos de armazenamento permanente. Para detalhes sobre características específicas de desempenho da VM, consulte a tabela IOPS máximas sustentadas na página desempenho do disco permanente.

Limite de tabelas

O Cloud SQL para MySQL terá um limite de 50 mil tabelas por padrão ou 500 mil tabelas para uma instância se você atender aos requisitos mínimos de hardware de pelo menos 32 núcleos e, no mínimo, 200 G de memória. Para um desempenho ideal, recomendamos que o número de tabelas em um único banco de dados não exceda 50 mil.

As instâncias que excederem esses limites não serão cobertas pelo SLA. Quando um tamanho de tabela atinge 16 TB, o tamanho máximo para partições do Linux, nenhum dado adicional pode ser adicionado.

A memória necessária para a instância depende de vários fatores. Para saber mais sobre como o Cloud SQL para MySQL usa a memória, consulte Como o MySQL usa a memória.

Se a contagem de tabelas ativas for maior que os padrões do Cloud SQL ou o tamanho geral do cache for significativamente grande, será necessário fazer ajustes na instância. Para manter o desempenho ideal, você pode:

  • Fazer upgrade para a edição Enterprise Plus do Cloud SQL a fim de ter mais opções de memória.
  • Fazer upgrade da máquina do Cloud SQL para adicionar memória à instância.
  • Reduzir o valor da flag de banco de dados innodb_buffer_pool_size.

As flags table_open_cache e table_definition_cache podem ser usadas para modificar o cache de tabela do Cloud SQL para MySQL. Use o esquema de desempenho para ver uma estimativa do tamanho do cache de tabela da instância.

Se o número de tabelas ativas for significativamente maior que o padrão de tabelas do Cloud SQL e a recomendação de tabelas abertas pelo MySQL, o Cloud SQL recomendará a configuração das flags de banco de dados table_open_cache e table_definition_cache com a contagem de tabelas ativas da instância. Para mais informações, consulte Como o MySQL abre e fecha tabelas.

Limite de operações

Os tipos de máquinas micro e de nível pequeno limitam o número de operações simultâneas. Exceder esses limites causa um erro Too many operations.

O limite do tipo de máquina db-custom-1-3840 (CPU única) é de 50 operações simultâneas.

O limite do tipo de máquina f1-micro (CPU de núcleo compartilhado) é de 20 operações simultâneas.

Limites de armazenamentos do Cloud SQL

Opções de armazenamentos do Cloud SQL

Para configurar uma opção de armazenamento para o melhor desempenho, é importante entender sua carga de trabalho e escolher o tipo e o tamanho adequados do disco. Para mais informações sobre as opções disponíveis para Cloud SQL, veja configurações de instâncias.

Limites do App Engine

Cada instância do App Engine executada em um ambiente padrão não pode ter mais de 100 conexões simultâneas com uma instância. Nos apps em PHP 5.5, o limite é de 60 conexões simultâneas.

Os aplicativos do App Engine estão sujeitos a limites de tempo de solicitação, dependendo do uso e do ambiente. Para mais informações, veja como as instâncias são gerenciadas nos ambientes padrão e flexível do App Engine.

Os aplicativos do App Engine também estão sujeitos a outras cotas e limites, conforme descrito na página Cotas do App Engine.

Limites do Cloud Run

As instâncias de contêiner do Cloud Run são limitadas a 100 conexões com um banco de dados do Cloud SQL. Cada instância de um serviço ou job do Cloud Run pode ter 100 conexões com o banco de dados e, conforme esse serviço ou job é escalonado, o número total de conexões por implantação pode aumentar.

Limites do Cloud Functions

O Cloud Functions (primeira geração) limita as execuções simultâneas a uma por instância. Você nunca terá uma situação em que uma única instância de função de primeira geração estará processando duas solicitações ao mesmo tempo. Na maioria das vezes, apenas uma conexão com o banco de dados será necessária.

O Cloud Functions (segunda geração) é baseado no Cloud Run e tem um limite de 100 conexões de banco de dados por instância.