Por que minha tabela sob demanda do DynamoDB está sofrendo controle de utilização?

4 minuto de leitura
0

Minha tabela sob demanda do Amazon DynamoDB está sofrendo controle de utilização, e eu não sei por quê.

Resolução

As tabelas do DynamoDB que usam o modo de capacidade sob demanda se adaptam automaticamente ao volume de tráfego da sua aplicação. No entanto, as tabelas que usam o modo sob demanda ainda podem sofrer controle de utilização. Os motivos a seguir podem fazer com que sua tabela de banco de dados sofra controle de utilização.

O tráfego é mais do que o dobro do pico anterior

Se você ultrapassar o dobro do pico de tráfego anterior em 30 minutos, poderá sofrer controle de utilização. Antes de ultrapassar o pico do tráfego anterior, é uma prática recomendada distribuir o crescimento do tráfego em pelo menos 30 minutos. Para monitorar o tráfego na tabela, use a métrica ConsumedReadCapacityUnits no Amazon CloudWatch. Para obter mais informações, consulte Métricas e dimensões do DynamoDB.

Para novas tabelas sob demanda, você pode direcionar imediatamente até 4.000 unidades de solicitação de gravação ou 12.000 unidades de solicitação de leitura, ou uma combinação linear de ambas.

Para uma tabela existente que você alterou para o modo de capacidade sob demanda, o pico anterior é um dos seguintes valores:

  • Metade do throughput provisionado anteriormente para a tabela
  • A configuração de uma tabela recém-criada com modo de capacidade sob demanda

Para obter mais informações, consulte Propriedades iniciais de throughput e escalabilidade.

O tráfego excede o máximo para cada partição

Cada partição na tabela pode atender até 3.000 unidades de solicitação de leitura ou 1.000 unidades de solicitação de gravação, ou uma combinação linear de ambas. Se o tráfego para uma partição exceder essa cota, a partição poderá sofrer controle de utilização.

Para solucionar esse problema, realize as etapas a seguir:

  1. Use o CloudWatch Contributor Insights para DynamoDB para identificar as chaves que mais frequentemente são acessadas e sofrem controle de utilização na sua tabela.
  2. Randomize as solicitações à tabela para que as solicitações às chaves de partição dinâmica sejam distribuídas ao longo do tempo. Para obter mais informações, consulte Usar fragmentação de gravação para distribuir workloads uniformemente.

O tráfego excede a cota da sua conta para cada tabela

Para tabelas sob demanda, as cotas de throughput de leitura e gravação no nível da tabela se aplicam no nível da conta. Por padrão, o throughput da tabela é definido como no máximo 40.000 unidades de solicitações de leitura e no máximo 40.000 unidades de solicitações de gravação. Se o tráfego para uma tabela exceder as cotas de throughput de cada tabela, a tabela poderá sofrer controle de utilização.

Para resolver esse problema, solicite um aumento de cota no nível da conta para o throughput de leitura e gravação no nível de tabela.

O índice secundário global da sua tabela está sofrendo controle de utilização

Se sua tabela do DynamoDB tiver um índice secundário global que esteja sofrendo controle de utilização, o controle poderá criar controles de utilização na tabela base. Para obter mais informações, consulte Como o controle de utilização do meu índice secundário global afeta minha tabela do Amazon DynamoDB? e Como usar índices secundários globais no DynamoDB.

O tráfego excede o throughput máximo configurado

Quando você excede o throughput máximo de leitura ou gravação definido em sua tabela sob demanda, sua tabela sofre controle de utilização e você recebe uma mensagem de erro ThrottlingException

Com base no seu caso de uso, conclua as seguintes ações:

Para monitorar o throughput máximo configurado para uma tabela ou índice secundário global, use as métricas OnDemandMaxReadRequestUnits e OnDemandMaxWriteRequestUnits no console do CloudWatch.

Informações relacionadas

Capacidade de expansão e adaptação

Como escolher a chave primária certa para minha tabela do Amazon DynamoDB?

Por que as métricas no console do DynamoDB são diferentes das métricas do CloudWatch?

Cotas de serviço, de conta e de tabela no Amazon DynamoDB

Introdução ao throughput máximo configurável para o Amazon DynamoDB sob demanda

AWS OFICIAL
AWS OFICIALAtualizada há 7 meses