Partilhar via


Evitar erros de limitação da taxa para operações do Azure Cosmos DB for MongoDB

APLICA-SE A: MongoDB

As operações do Azure Cosmos DB para MongoDB podem encontrar limitação de taxa, resultando em 16500 erros nas métricas de solicitação mongo, se excederem o limite de taxa de transferência (RUs) de uma coleção.

Habilite a repetição do lado do servidor (SSR) para automatizar as tentativas de operação. O SSR tenta novamente solicitações em todas as coleções em sua conta com pequenos atrasos. Se um tempo limite de 60 segundos for atingido, um cliente receberá uma exceção ExceededTimeLimit (50).

Utilizar o portal do Azure

  1. Inicie sessão no portal do Azure.

  2. Navegue até sua conta do Azure Cosmos DB para MongoDB.

  3. Vá para o painel Recursos abaixo da seção Configurações .

  4. Selecione Repetir no lado do servidor.

  5. Clique em Ativar para ativar esta funcionalidade para todas as coleções na sua conta.

Captura de tela do recurso de repetição do lado do servidor para o Azure Cosmos DB para MongoDB

Utilizar a CLI do Azure

  1. Verifique se o SSR já está ativado para a sua conta:

    az cosmosdb show --name accountname --resource-group resourcegroupname
    
  2. Habilite o SSR para todas as coleções em sua conta de banco de dados. Pode demorar até 15 minutos para que esta alteração entre em vigor.

    az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo DisableRateLimitingResponses
    
  3. O comando a seguir irá Desativar a repetição do lado do servidor para todas as coleções em sua conta de banco de dados removendo DisableRateLimitingResponses da lista de recursos. Pode demorar até 15 minutos para que esta alteração entre em vigor.

    az cosmosdb update --name accountname --resource-group resourcegroupname --capabilities EnableMongo
    

Perguntas mais frequentes

Como posso monitorar os efeitos de uma nova tentativa no servidor?

Você pode exibir os erros de limitação de taxa (16500) com a métrica de solicitações mongo, que são repetidas no lado do servidor no painel Métricas do Azure Cosmos DB. Lembre-se de que esses erros não vão para o cliente quando o SSR está habilitado, pois são manipulados e repetidos no servidor.

Você pode pesquisar entradas de log contendo estimatedDelayFromRateLimitingInMilliseconds em seus logs de recursos do Azure Cosmos DB.

A nova tentativa do lado do servidor afetará meu nível de consistência?

A nova tentativa do lado do servidor não afeta a consistência de uma solicitação. As solicitações são repetidas no servidor se tiverem taxa limitada.

A nova tentativa do lado do servidor afeta qualquer tipo de erro que meu cliente possa receber?

Não, a repetição do lado do servidor afeta apenas os erros de limitação de taxa ao repeti-los no lado do servidor. Esse recurso evita que você tenha que lidar com erros de limitação de taxa no aplicativo cliente. Todos os outros erros irão para o cliente.

Próximos passos

Para saber mais sobre como solucionar erros comuns, consulte este artigo:

Tentando fazer o planejamento de capacidade para uma migração para o Azure Cosmos DB? Você pode usar informações sobre seu cluster de banco de dados existente para planejamento de capacidade.