Cotas e limites

O AlloyDB para PostgreSQL usa cotas e limites do sistema para manter uma alocação justa de recursos, evitar sobrecargas de serviço e ajudar você a gerenciar o uso de recursos.

As diferenças entre essas abordagens são as seguintes:

  • As cotas têm valores definidos por padrão, mas geralmente é possível solicitar ajustes.
  • Os limites do sistema são valores que não podem ser alterados.

Cotas

OGoogle Cloud usa cotas para garantir a imparcialidade e reduzir picos no uso e na disponibilidade de recursos. Uma cota restringe a alocação de um recurso doGoogle Cloud para uso do seu projeto do Google Cloud . As cotas se aplicam a vários tipos de recursos, incluindo hardware, software e componentes de rede. Por exemplo, elas podem restringir o número de chamadas de API para um serviço, o número de balanceadores de carga usados simultaneamente pelo projeto ou o número de projetos que podem ser criados. As cotas protegem a comunidade de usuários doGoogle Cloud , impedindo a sobrecarga de serviços. Elas também ajudam você a gerenciar seus próprios recursos do Google Cloud .

O sistema de cotas do Cloud faz o seguinte:

Na maioria dos casos, quando você tenta consumir mais de um recurso do que a cota permite, o sistema bloqueia o acesso ao recurso, e a tarefa que você está tentando executar falha.

As cotas geralmente se aplicam ao nível do projeto do Google Cloud . O uso de um recurso em um projeto não afeta a cota disponível em outro. Em um projeto do Google Cloud , as cotas são compartilhadas entre todos os aplicativos e endereços IP.

Saiba mais em Visão geral das cotas do Cloud.

OGoogle Cloud também oferece cotas de teste sem custo financeiro que dão acesso limitado a projetos para você conhecer o Google Cloud sem pagar nada.

Nem todos os projetos têm as mesmas cotas. Se o uso do Google Cloud aumentar, suas cotas poderão aumentar.

Para mais informações sobre cotas, consulte a documentação sobre as cotas do Cloud.

Para informações específicas sobre cotas impostas pelo AlloyDB, consulte Cotas de taxa e Cotas de recursos.

Também há limites para os recursos do AlloyDB. Ao contrário das cotas, os limites do sistema não podem ser alterados.

Permissões para verificar e editar cotas

Para visualizar as cotas, você precisa ter a permissão serviceusage.quotas.get.

Para alterar as cotas, você precisa ter a permissão serviceusage.quotas.update.

Por padrão, elas estão incluídas nos papéis básicos do IAM "Proprietário" e "Editor", assim como no papel predefinido "Administrador de cotas".

Verificar suas cotas

Por padrão, a tabela de cotas no console do Google Cloud lista as cotas de todos os serviços. É possível verificar as cotas atuais dos recursos do AlloyDB no projeto usando a lista Filtro na tabela.

Para verificar as cotas atuais dos recursos do AlloyDB no seu projeto, siga estas etapas:

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

    Acessar "Cotas"

  2. Na tabela de cotas, clique em Filtrar.

  3. Selecione Serviço na lista Propriedades e, em seguida, selecione API AlloyDB na lista Valores.

Aumentar suas cotas

À medida que o uso do Google Cloud aumenta ao longo do tempo, as cotas podem ser ajustadas 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.

  1. Na página Cotas, clique em Filtrar.
  2. Selecione Serviço na lista Propriedades e, em seguida, selecione API AlloyDB na lista Valores.

    Se você não encontrar a API AlloyDB, significa que a API AlloyDB Admin não está ativada.

  3. Selecione as cotas que você quer alterar.

  4. Clique em Editar cotas.

  5. Insira seu nome, e-mail e número de telefone e clique em Próxima.

  6. Insira sua solicitação de cota e clique em Enviar solicitação.

cotas de taxa.

O AlloyDB aceita cotas de taxa, também conhecidas como limitação de taxa ou cotas de API. As cotas de taxa definem o número de solicitações que podem ser feitas à API AlloyDB.

Cada cota de taxa corresponde a todas as solicitações de um grupo de um ou mais métodos da API AlloyDB. As cotas de taxa são redefinidas após um intervalo de tempo específico do serviço, por exemplo, o número de solicitações de API por dia.

Ao usar a Google Cloud CLI ou o console do Google Cloud , você faz solicitações à API, que são contabilizadas nos limites de taxa. Se você usar contas de serviço para acessar a API, essas solicitações também serão contabilizadas no limite de taxa.

As cotas de taxa são aplicadas e recarregadas automaticamente em intervalos de 60 segundos (1 minuto). Isso significa que, se o projeto atingir o máximo de uma cota de taxa a qualquer momento em 60 segundos, será necessário esperar que essa cota seja recarregada antes de fazer mais solicitações nesse grupo. Se o projeto exceder um limite de taxa, você vai receber um código de status HTTP 429 com o motivo rateLimitExceeded.

As APIs do AlloyDB são divididas em seis grupos com base no tipo de operação. As cotas de taxa são impostas por minuto, por grupo de APIs, por projeto, por região e por usuário. Para cada combinação exclusiva desses atributos, o AlloyDB impõe uma cota separada. Por exemplo, se 100 usuários estiverem acessando as APIs Mutate em um único minuto para um determinado projeto e região, cada usuário receberá uma cota padrão no intervalo de 180 a 250 solicitações por minuto para cada combinação de projeto e região.

O intervalo de cota padrão para cada grupo é o seguinte:

Nome do grupo Descrição Intervalo de cota padrão em consultas por minuto Métodos da API
Conectar APIs Estabelecer novas conexões. 180-2000
  • projects.locations.clusters.generateClientCertificate
  • projects.locations.clusters.instances.getConnectionInfo
Acessar APIs Ler um único recurso. 180-1000
  • projects.locations.clusters.get
  • projects.locations.clusters.instances.get
  • projects.locations.backups.get
  • projects.locations.get
API Get operation Receber o estado mais recente de uma operação de longa duração. 950-2000
  • projects.locations.operations.get
Listar APIs Ler um grupo de recursos do mesmo tipo. 180-1000
  • projects.locations.clusters.list
  • projects.locations.clusters.instances.list
  • projects.locations.backups.list
  • projects.locations.supportedDatabaseFlags.list
  • projects.locations.list
API List Operations Lista as operações que correspondem a um filtro específico na solicitação. 2200-3000
  • projects.locations.operations.list
APIs de mutação Modificar o estado do recurso. 180-250
  • projects.locations.clusters.create
  • projects.locations.clusters.patch
  • projects.locations.clusters.delete
  • projects.locations.clusters.restore
  • projects.locations.clusters.instances.create
  • projects.locations.clusters.instances.patch
  • projects.locations.clusters.instances.delete
  • projects.locations.clusters.instances.failover
  • projects.locations.clusters.instances.restart
  • projects.locations.backups.create
  • projects.locations.backups.patch
  • projects.locations.backups.delete
  • projects.locations.operations.delete
  • projects.locations.operations.cancel

Cotas de recursos

O AlloyDB é compatível com cotas de recursos, também conhecidas como cotas de alocação. 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 de recursos restringem o uso de recursos que não têm uma taxa de uso, como o número de instâncias de máquina virtual (VM) usadas pelo projeto em um determinado momento.

As cotas de recursos não são redefinidas ao longo do tempo. Em vez disso, você precisa entre em ação para liberar os recursos não utilizados, como excluir um cluster desnecessário.

As cotas de recursos são impostas ao número de clusters e vCPUs usados, conforme detalhado nas seções a seguir.

Cotas de recursos em clusters

Essa cota se aplica ao número de clusters por projeto e por região. O valor padrão dessa cota varia de 3 a 10 clusters por projeto e por região, dependendo do histórico de uso do projeto. O valor máximo aceito para essa cota é de 20 clusters por projeto e por região.

Se você fizer uma solicitação de criação ou restauração de cluster usando o console do Google Cloud , a CLI gcloud ou a API AlloyDB, e isso resultar em violação de cota, a solicitação falhará com uma mensagem de erro semelhante a esta:

Quota limit 'ClustersUsedPerProjectPerRegion' has been exceeded. Limit: 5 in region us-central1.

Cotas de recursos em vCPUs

Essa cota se aplica ao número de vCPUs por projeto e por região. Cada instância consome uma quantidade dessa cota, dependendo de quantas VMs ela usa. Cada instância principal usa duas VMs. Cada instância de pool de leitura usa uma VM para cada nó que contém. O número de vCPUs usadas por cada VM é fornecido por você ao criar ou atualizar a instância.

O valor padrão da cota para todos os projetos de clientes é de 10.000 vCPUs.

Se você fizer uma solicitação de criação ou atualização de instância usando o console do Google Cloud , a CLI gcloud ou a API AlloyDB, e isso resultar em violação de cota, a solicitação vai falhar com uma mensagem de erro semelhante a esta:

Quota limit 'VCPUsUsedPerProjectPerRegion' has been exceeded. Limit: 128 in region us-central1.

Cotas de recursos no armazenamento

Essa cota se aplica à quantidade de dados que podem ser armazenados em cada cluster. O valor padrão dessa cota é de 16 TiB por cluster. O valor máximo aceito é de 128 TiB por cluster.

Se você fizer uma solicitação de gravação de banco de dados, como uma instrução INSERT que resulte em violação de cota, a solicitação falhará com a seguinte mensagem de erro:

AlloyDB instance exceeds available storage quota.

Disponibilidade de recursos

As cotas de recursos 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.

Limites

Para solicitar um aumento de limite, [registre um caso de suporte](https://support.google.com/googlecloud/answer/1041916).
Item Limite
Nós do pool de leitura por cluster (em todas as instâncias do pool de leitura) 20
Máximo de conexões simultâneas por instância

O limite padrão varia de acordo com o tamanho da instância. É ajustável até o limite máximo permitido por esse tamanho.

Máximo de conexões simultâneas

Por padrão, o AlloyDB define o número máximo de conexões simultâneas para uma instância com base no tamanho dela. Para mudar esse limite, defina a flag max_connections.

Use a tabela a seguir para escolher o valor de max_connections com base no tamanho da instância:

VCPU Memória (GB) Valor padrão de max_connections Valor máximo recomendado de max_connections
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

Observe as seguintes considerações antes de definir o valor:

  • Ao definir a flag max_connections em uma instância de pool de leitura, o novo valor precisa corresponder ou exceder o valor max_connections da instância principal do cluster.
  • Antes de reduzir uma instância, atualize o valor da flag max_connections de acordo. Caso contrário, você poderá encontrar problemas.
  • Recomendamos que você execute no máximo quatro consultas simultâneas por vCPU de instância.
  • Para cargas de trabalho que envolvem conexões de curto prazo, use um pool de conexões, como pgbouncer ou pgpool-II.
  • Recomendamos adicionar um pool de conexões do lado do aplicativo, como HikariCP ou c3p0.
  • Se você decidir definir o valor como um valor maior do que as recomendações (até 240.000), considere o consumo de memória adicional para cada conexão ativa que reduziria a memória do buffer compartilhado.

    Esse consumo de memória pode ser calculado multiplicando o número de consultas simultâneas pelo valor definido para a flag work_mem. O valor padrão dessa flag é 4MB ou o número de vCPUs na instância, o que for maior.

Limites de consultas salvas

Valor Limite
Número máximo de consultas salvas por projeto (incluindo consultas salvas para outros produtos do Google Cloud ) 10.000
Tamanho máximo para cada consulta 1 MiB